PennLive reports “Central Pa. school district installs surveillance windows in gender-inclusive bathrooms”: as a parent of a non-binary kid I’m obviously concerned about the outcomes of policy like this but reading through the South Western School District’s justification for this policy also highlights just how much of the modern public school experience has “prison” like design qualities.
Latest
∞ A Year in the Life of a Preferred Pronoun Form Field
Over the last year I’ve been working with our local school system to include preferred pronouns in their student information system. The use case for this arose out of direct experience with one of my own kids being misgendered in a classroom. Now as a technology-savvy parent, it is not like you check out the source code of your school’s student information system and go patch the problem yourself - instead you contact overworked administrators at the local district level, show up to community engagement meetings, and provide end-user feedback throughout the process. It is incredibly mundane but important work that you should be doing if gender inclusivity is something that matters to you.
Typically each new school year my non-binary kiddo emails all of their teachers, introduces themselves, and shares their pronouns. It is great that they have the confidence and communication skills to do this but this simple action places an unnecessary burden and unreasonable expectation on any student where pronoun usage can make or break even the smallest of daily interactions. Every time my kid receives a communication at home (physical mail, email, letter home from school, etc) that misgenders them it is the same pattern - they read it, I watch their entire body slump in sadness, and they retreat to somewhere in the house where they can deal with their feelings in private. Imagine this happening N times at school where the comforts of home aren’t available.
At some point in my kid’s junior high experience they were misgendered at school by a substitute teacher. The substitute was doing roll call, called my child’s name, and my child said “present.” This is a routine thing that would happen at the beginning of any classroom experience and it should be a frictionless thing. Instead the substitute looked at my child, decided their presentation did not match the name on the roll sheet in front of them and told them to “stop messing around and let the real person say present for themselves.” Substitute teachers are famously given a hard time by students, particular junior high ones, and so I hold no ill-will towards this person.
We are lucky in my district to have some local school site Diversity, Equity, and Inclusion parent sub-committees and the school my kid was at happened to have one. Thankfully this meeting also had participation from the principal of the school. I brought this experience to this group and there was general support that it should not have happened. The principal pointed out that every substitute teacher is given a roll sheet and that perhaps if we could have pronouns listed on there it would avoid the problem from happening again. The principal said they would mention this to the district. At virtually every monthly meeting after that I would ask about the status of this issue and was told someone was looking into it.
Eventually our district created a district level Diversity, Equity, and Inclusion group with involvement from admins, parents, students, and teachers across the entire district. I brought the roll sheet+pronouns issue there and while it was disappointing to realize this was the first time anyone at the district was learning of this issue I was immediately met with support and real actionable goals. The head of this group, a district employee, would bring the problem to the team in charge of the student information system. This was because the physically printed out roll sheets given to a substitute teacher at any school in our district are created by the district from the student information system. In order to have a “preferred pronoun” listed on the roll sheet the data would have to be somewhere in the student information system.
Unlike my experience at the local school site level, at the district level things progressively moved forward. Each month some type of progress was demonstrated. The matter was being reviewed by the legal team to ensure compliance with State of California requirements around student privacy. The technology team was working with those legal requirements to implemented a solution. The teams were meeting local school site guidance counselors to train them on how the solution would be implemented. There are a lot of moving parts to even a single form field being added to a system that has to meet multiple stakeholders - including meeting compliance needs enforced by state or federal laws.
At the beginning of the 2024-2025 school year the digital registration forms sent out to every parent included a spot for them to list their child’s preferred pronouns. There are still lingering issues relating to display of this data but progress is being made and I’m still showing up to monthly meetings to move the issue along.
I share this experience to point out that if you are someone who cares about gender inclusivity in our local schools that there is really valuable work you can do as a parent to represent the issues. You can ask your local school administrators about whether you can list preferred pronouns on your student’s profiles. If you cannot you can go to your school district and ask them about it. It is important to note that many districts will have policies and procedures for legally changing your child’s sex - but that’s not what we are doing here. We are just trying to list things like preferred name or pronouns in data systems so that when people interact with our kids it is normal and to be expected that we ask them for their pronouns and don’t make assumptions about who they are based on visual presentation.
It can be infuriating and helpless to watch politicians on the national stage complain about “drag queen story hour” or whatever other nonsense issues they’ve created out of thin air. But the counter to this is to find the nuts-and-bolts stuff like classroom rollsheets to work on locally. The stuff that students and teachers have to deal with every day, the mundane stuff. My own area of expertise is user experience and so I tried to think about all the different users of the system, what their goals were, where they want to use the enhancement, and to imagine myself in their shoes as they were interacting with the systems. You probably have your own lens of expertise that you can see things through and you should find ways to apply those skills.
When you engage your school district about these issues you can do so calmly, bring a use case or two, and have patience. Every one I’ve interacted with about this topic has first and foremost wanted to support my student and make sure they are having a good school experience. It takes time for changes to core data systems (like the student one) to pass through legal review and for training materials to be updated. Things are not moving slowly because gender inclusivity is not a priority — things are moving slowly because the legal team is overworked, the training team is overworked, the third party vendor that the data system is outsourced to has their own backlog of software enhancements they are working through. (Sound familiar? Is your owm workplace understaffed and overworked?) You have to stay engaged, show up to the community meetings, and politely hold those who can take direct action accountable. It takes a couple hours of your time each month but it will help people going forward - including kids long afters yours have moved on - to feel safe and welcome in their classrooms.
∞ Why Do Blog Posts Need Titles?
I’m not sure if I’m misremembering but my brain says there was a time when blog posts did not have “post titles” by default. Coming up with a post title is one of my least favorite exercises when writing a blog post.
Often how these things change on the internet is a bit hard to unearth (particularly in the early 2000s) but it could have been as innocent as some blogging software package requiring it to something more evil such as Google forcing SEO down our throats.
I don’t remember Movable Type requiring them but I do feel like most blogging software packages for the last decade have assumed per-post titles were required information.
If anyone happens to have some pointers to the internet archeology on blog post titles feel free to mention me on Mastodon (@soypunk@friend.camp).
Follow-Ups
Derek Powazek, who worked at Blogger, wrote:
“when we launched Blogger in 99, there were no post titles (or post pages, for that matter). But we added them soon after. They were a top request.”
Worth nothing that Derek authored “Design for Community: The Art of Connecting Real People in Virtual Places” - a book which radically re-shaped my approach to user experience and product management and I still think about to this day. I highly doubt we will ever see a second edition but if we did I would happily buy a dozen copies to hand out.
Jeff Eaton, also said:
“Yeah, Livejournal defaulted to the same when it launched - just a date and a message.”
(Since we are saying nice things aout people, Jeff was one of the early pioneers of making Drupal handle some seriously gnarly enterprise content management problems. His social media posts are always insightful and well-worth your attention.)
Both of these at least help to suggest that my usually failing memory might have logged this nugget correctly; blog entries with post titles were not necessarily the norm to start.
∞ Wherefore Art Thou Blog
This is going to be one of those meaty, meandering, old school blog posts about… well blogging. Welcome back everyone.
With the fall of Twitter over the last several months there’s predictably been some folks moving their online presence back to their personal websites. Similarly we’ve seen more calls for a return to the concepts of the “IndieWeb” and folks rightfully calling out that’s it still too hard for people to own their own content.
One of the interesting things about the Substack’s product strategy to become the go-to place for radical hate content is that a lot of the small, indie voices on Substack didn’t know how to get off of it. Sure there are alternatives to Substack (Buttondown or Ghost come to mind) but they don’t offer anywhere close to the “free tier” level of service Substack offered. (And they sure heck are not offering one year of paid healthcare, holy moly.) Trying to wrangle how to get something like a self-hosted Wordpress instance to also act as a newsletter is surprisingly complicated. It is not that easy to send email in volume anymore because many of the large email-as-a-service providers (and international/regional laws) require a lot of safeguards to ensure emails are authentic, wanted, and not tracking you without your consent.
It is interesting to note that if Google Reader had managed to stick around I don’t think there would have been as strong of a push to return to the newsletter format. (And Google Reader wasn’t exactly an ideal RSS citizen either much less an “IndieWeb” friendly one.)
Anyway, I’m excited to see some movement back towards personal websites because I’ve also been thinking about bringing back my blogging habit. Somewhere around 2005 I threw in the towel on keeping a personal website “for realsies” because Twitter was just much easier to use. I’ve had a personal website since 1996, originally hosted on the free web space my ISP gave me and later moving it around to several different domain names and software systems. I’ve used Django, Drupal, Jekyll, Hugo, Movable Type, Wordpress, as well as quite a few bespoke applications I wrote to manage the site. These days this site is hosted & powered by David Merfield’s blot.im. I’m writing software usually every other day and I don’t need to add yet-another-thing to maintain to my daily brain-load. There’s no lock-in with blot though - I own my domain, the content is in plain-text, and it is easy to obtain all the materials and go somewhere else that supports static website generation.
For several years now I’ve been microblogging on a Mastodon instance run by Darius Kazemi. I choose Darius’s instance because Darius is a smart person who cares about the good parts of the federated networks (e.g. see Darius and Erin Kissane’s very recent announcement to organize research into “fediverse” governance) Microblogging is great and it does feel like the “good years” of Twitter - for the most part (I don’t remember there being so much mansplaining and contrarian posting for the sake of hearing yourself argue in the early days of Twitter but there were so many “micro-islands” of conversation at the beginning it was easy to not see the whole picture.) More often over the last few years I’ve found myself saying “this should really be a blog post” because threaded conversations on microblogs suck for any number of reasons.
Over a year ago, Phil Gyford opened up https://ooh.directory, which Phil describes as “a collection of hundreds of blogs, to help people find good blogs that interest them.”. I was browsing through it this week and it was really uplifting to see so much interesting content that was just plain-spoken and not heavily packaged.
As an example of “this should really be a blog post” - here’s an example of the “heavily package” content experience that befuddles me. Jason Kottke had shared a link about the “most borrowed library books” that looked interesting. So I clicked on the link and the following happened:
It sucks to click on a link to an article and then only see the title of the article that I already decided I wanted to read as the only thing on the screen. I get it, websites cost money and need a business model to recoup that money - so ads. Was it really not possible to fit in more than just the title, byline, and a single sentence lede? That’s okay though because even if more than the lede had been there before I could even scroll down my screen was covered with this:
I don’t know what this is and I don’t want it. I wanted to read an article and instead there was like a two minute montage of people skiing covering the entire viewport and there wasn’t even “80s movie action” skiing music. Finally after I figured how to dismiss the ad and scroll down I was left with this mess:
This screenshot is hilarious for a number of reasons. First of all there are ads overlapping each other - so I can’t even tell you what the ads are about. Content baby! Second, this paragraph is impossible to read because there are too many hyperlinks distracting me from just like… catching my breath and figuring out where to start reading. What’s sad is I don’t even know what the most borrowed library books were because I gave up trying to read the article at this point.
It is taken a while to get to here but in summary: let’s bring back personal websites! Let’s make them easier to setup - those of you savvy enough to do so need to file bugs and enhancement requests with your software folks to enable this. Let’s bring back content you can actually read and let’s figure out how to help people afford to self-host this stuff so they can post fun quirky things we can read and learn from.
∞ Traveller Universal World Profiles to M-Space Planets
Traveller Universal World Profiles to M-Space Planets
Traveller is well known for it is various “universal codes.” The Universal Character Profile/Universal Personality Profile was a shorthand method to quickly describe a character’s characteristics. The Universal Planetary Profile/Universal World Profile (UWP) describes the qualities of a world. In this article I want to take at look at how you can map a UWP to an M-Space Planet so that you can reuse Traveller-specific mapping tools with M-Space. It will not be always be a one-to-one mapping and there will be some judgements you’ll have to make for your game.
Uwp Code in a Nutshell
A UWP code looks like this: C77A9A9-6
- Starport: C
- Size: 7
- Atmosphere: 7
- Hydrographics: A
- Population: 9
- Government: A
- Law level: 9
- Tech level: 6
There are some other details sometime included separately from this main code sequence but these are the primary attributes we will be considering.
Starports
Starports map over fairly cleanly. Traveller has some specific ideas about “annual maintenance” that may or may not fit into your own M-Space game depending how closely you are tracking such details.
UWP Starport Code | UWP Descriptor | M-Space | Shipyard Capacity | Maintenance |
---|---|---|---|---|
A | Excellent | Full | Build & Repair | Yes |
B | Good | Standard | Repairs & Upgrades | Yes |
C | Routine | Local | Simple repairs | Yes* |
D | Poor | Emergency | None | No |
E | Frontier | Emergency | None | No |
X | None | None | None | No |
- Typically Routine/Class C Starports were not capable of performing “annual maintenance” but could do simple maintenance.
Size
Traveller world sizes starting at size 6 map over cleanly to M-Space, but sizes 0-5 are not covered. To help explain the lack of designations at the lower sizes, it is important to note that world sizes 1-4 would have such low gravities that walking in a straight line would be problematic.
UWP Size Code | Traveller World Size | Traveller Gravity | M-Space |
---|---|---|---|
0 | 800 km (typically an asteroid) | Negligible | - |
1 | 1,600 km | 0.05 | - |
3 | 3,200 km | 0.15 | - |
5 | 4,800 km | 0.25 | - |
7 | 6,400 km | 0.35 | - |
9 | 8,000 km | 0.45 | - |
2 | 9,600 km | 0.7 | Extra Small |
4 | 11,200 km | 0.9 | Small |
6 | 12,800 km | 1.0 | Medium |
8 | 14,400 km | 1.25 | Large |
10 (A) | 16,000 km | 1.4 | Extra Large |
Atmosphere
M-Space includes some tables for Atmospheric Pressure and Breathability which we will use to translate back to a UWP code.
UWP Atmosphere Code | Descriptor | M-Space Pressure | M-Space Breathability |
---|---|---|---|
0 | None | None | None |
1 | Trace | None | None |
2 | Very Thin, Tainted | Too thin | Vacuum Suit |
3 | Very Thin | Too thin | Vacuum Suit |
4 | Thin, Tainted | Thin | Breathing mask |
5 | Thin | Thin | Breathing mask |
6 | Standard | Earth like | Earth like |
7 | Standard, Tainted | Earth like | Breathing mask |
8 | Dense | Dense | |
9 | Dense, Tainted | Dense | Breathing mask |
10 (A) | Exotic | Varies | Vacuum Suit |
11 (B) | Corrosive | Varies | Vacuum Suit |
12 (C) | Insidious | Varies | Vacuum Suit |
13 (D) | Dense, High | Dense | |
14 (E) | Thin, Low | Thin | None |
15 (F) | Unusual | Varies | Varies |
It is important to note that while Dense worlds may not require a particular Breathing mechanism they would be rather hot and have violent electrical storms, continent-sized hurricanes, or massive hailstones.
Hydrographics
Traveller does a whole thing with Hydrographics and has a system for generating a climate profile given a few inputs. For example, a Size code of 6-8, an Atmosphere 5, 6 or 8 and Hydrographics 5-7 might give you a “Garden World.”
There is no easy conversion here other than to provide some guidance on the codes and allow you to think about how close the planet might be to the habitable zone and what effect that would have on the climate.
UWP Hydrographic Code | Descriptor |
---|---|
0 | Desert world |
1 | Dry world |
2 | A few small seas. |
3 | Small seas and oceans. |
4 | Wet world |
5 | Large oceans |
6 | |
7 | Earth-like world |
8 | Water world |
9 | Only a few small islands and archipelagos. |
10 | Almost entirely water. |
Here’s some general guidance as to how you can fit all of the codes together:
World Class | Size | Atmosphere | Hydrographics | Temperature |
---|---|---|---|---|
Rock | 0 | 0, 1, 2, 3 | 0 | - |
Harsh | 1, A+ | 4, 7, 9, A, B, C, D, F | 1, 2, 9, A | Freezing, Boiling |
Marginal | 2, 9 | 5, 8 | 3, 4, 8 | Hot, Cold |
Garden | 3, 4, 5, 6, 7, 8 | 6, E | 5, 6, 7 | Temperate |
- Table courtesy of Daniel Stevens
Population
At this point we need to jump out of M-Space’s World Building chapter and head to the previous chapter on Alien Creation. Mapping Traveller’s population code to M-Space’s population descriptors requires a bit of judgement as to what “medium” means in your universe. Here’s an idea as to how one might do that:
UWP Population Code | Descriptor | M-Space Descriptor |
---|---|---|
0 | None | None |
1 | Few | Very Low |
2 | Hundreds | Very Low |
3 | Thousands | Low |
4 | Tens of thousands | Low |
5 | Hundreds of thousands | Medium |
6 | Millions | High |
7 | Tens of millions | High |
8 | Hundreds of millions | Very High |
9 | Billions | Very High |
10 (A) | Tens of billions | Super-dense |
Government
Governments in Traveller are rather specific compared to the broader terms used in M-Space. Additionally M-Space’s Circle mechanic provides a richer way to represent these planetary governments within your game world and how their actions can influence or impact your players. There’s no reason why you could not use Traveller’s label in your M-Space game. Some GM fiat is necessary to determine what these labels mean in your game, but here’s a sample mapping if you wish to preserve M-Space’s labels.
UWP Government Code | Descriptor | M-Space Ruler |
---|---|---|
0 | None | None, Anarchy |
1 | Company/Corporation | Dictatorship, Semi-Democratic |
2 | Participating Democracy | Democracy |
3 | Self-Perpetuating Oligarchy | Dictatorship |
4 | Representative Democracy | Semi-Democratic |
5 | Feudal Technocracy | Council |
6 | Captive Government | Council, Dictatorship |
7 | Balkanization | Many |
8 | Civil Service Bureaucracy | Council |
9 | Impersonal Bureaucracy | Council |
10 (A) | Charismatic Dictator | Dictatorship |
11 (B) | Non-Charismatic Leader | Dictatorship |
12 (C) | Charismatic Oligarchy | Dictatorship |
13 (D) | Religious Dictatorship | Dictatorship |
14 (E) | Religious Autocracy | Dictatorship |
15 (F) | Totalitarian Oligarchy | Dictatorship |
M-Space provides two additional layers of descriptors called Foreign Policy and Conflict Intensity that would require you to know a bit more about your world’s backstory in order to determine how your planetary governments are functioning with their neighbors.
Law Level,
M-Space has a 1:1 mapping for Traveller’s Law Levels 0-9. These can be found in M-Space on page 134 in the Alien Creation chapter.. The table presented here could be slightly cleared that the Weapons column is saying what is “restricted.” So, Level 9 does not mean “Any Weapons” are allowed but that all weapons are restricted by the government.
Tech Level
M-Space has a 1:1 mapping for Traveller’s Tech Levels 0-15, and you can read a bit about this on page 135, of M-Space’s Alien Creation chapter.
So there you go, M-Space is not shy about pointing out its roots from Traveller. In many cases mapping the terminology is not strictly necessary but it can be helpful to your players if they are not familiar with Traveller but own their own copies of M-Space.
∞ Airplay 2 audio with an Ethernet only Airport Express
Airplay 2 Audio With an Ethernet Only Airport Express
It had slipped my radar that Apple had release a new firmware update for their Airport Express product. The major feature in the updated 7.8 firmware is that it adds Airplay 2 support to the Express. I’ve been wanting to upgrade my home music stereo system for sometime but don’t want to shell out the money for a HomePod. A TidBits article reminded me about the Home app and from there the wheels got turning in my head.
The HomePod, by all accounts, “sounds” amazing but the fact that it is a single user device when it comes to the Siri features (“check my email”) seems like a real drawback when the thing is going to live smack-dab in the middle of my living room with family of five Apple users.
Airplay 2 seems pretty cool particularly the ability to stream music to multiple AirPlay devices at the same time. Our current “home speaker” is usually our Apple TV playing music through our TV speakers over HDMI. It is not great but it works and it is easy for everyone to use… for the most part.
I just so happen to have an Airport Express lying around, not used. We retired our Airport-based WiFi network after years of Apple neglecting it and the performance being subpar giving our home’s fast fiber connection. The interesting thing about the Express is that you can disable the WiFi radio, put the device into “bridge mode”, and just plug into your existing router with an ethernet cable.
With that in mind I plugged a pair of old computer speakers that sound reasonably decent into the Airport Express optical audio input. I updated the device’s firmware and used the Airport Utility to configure it as an ethernet-only AirPlay hub as noted. Then I used the Home app on iOS 12 to add it as HomeKit device. This was a little finicky but I had to “Add an Accessory”, then select the manual “I don’t have a HomeKit code” option. It took a few tries but the Express device did show up and was added in a just few seconds. I added it to same HomeKit room as my Apple TV (which is also in the same “main floor” zone.)
From there I went back to my Phone’s Music app picked a song and was able to tap both speaker options and music was streaming at the same time with no lag from both my Apple TV and the Express speaker output. It is pretty amazing. I suspect this setup will not work if I wanted to say watch a movie on my Apple TV and have the Audio come out of both places but I’m going to mess around and see if I can get it to work.
Update: I’m not sure what I was thinking about audio not working from both sources during movies - it works just fine and there was nothing else required. A nice little bit of Apple magic.
∞ Rainy Day Jazz
Rainy Day Jazz
Part of documenting my Reading List library will include going through 100s of items that I’ve been queuing up over the last several years. Kinda like wading into an old person’s house and seeing years worth of newspapers stacked up everywhere — something I’m familiar with since that was the scene I found after I visited my grandfather at his house some time ago.
Seeing as I’m fond of having good writing music this collection of “rainy day jazz” tunes from Reddit’s Jazz subreddit seems appropriate. The top voted post is a good starting point for making your own collection. To help you out I’ve collected 48 of the songs into a public Apple Music playlist.
It is missing a few tracks that don’t seem to be available on Apple Music:
- The Finer Things by Donald Fagen & David Sanborn
- Continuum by Jaco Pastorius
- Blue Champagne by Manhattan Transfer
- Ringo’s Theme (aka This Boy) Version 2 - The Skatalites
- Josie and Truman - Angelo Badalamenti
- Great Northern Piano Tune #2 - Angelo Badalamenti
- Great Northern Piano Tune #3 - Angelo Badalamenti
In the case of Blue Champagne I found a version by Anita O’Day that I enjoyed and added to my collection as it felt at home with the more subdued sides of the recommended playlist. Right now the songs are just added in the order the poster presented them but I’ll likely reorder and refine the list down over the next couple of listens.
∞ State of Markdown Todo Item Syntaxes in 2014
State of Markdown Todo Item Syntaxes in 2014
Summary of Markdown Lists
As a plain-text person I generally gravitate to keeping my project materials in text files. As someone who believes HTML is the quintessential document format, I like to use Markdown to ease the transition from plain-text to sensibly structured HTML.
Naturally, one makes a lot of lists when taking meeting notes or capturing a list of tasks to be completed for a project. In Markdown single level lists are straightforward while multi-level lists, or outlines if you will, have all sorts of thorny edges depending on which Markdown parser you choose to use.
To begin a list item in Markdown one starts a line with -
, +
, or *
followed by a whitespace character and then your list item text content.
Given Markdown’s close relationship to HTML’s text semantics it doesn’t have a “task” or “todo” item syntax. Sure HTML Forms has <input type="checkbox" />
but Markdown has never concerned itself with translating plain-text to HTML Forms markup.
Still Markdown is popular with the project documentation and note taking set and there are currently several attempts at employing a syntax for tasks. Here’s a summary of them as well how backwards compatible these extensions are via the Babelmark test suite tool.
(At time of writing the Babelmark 1 testbed’s Python Markdown implementation was failing due to a system error. I’ve removed those failures from the results.)
Update 1/28/14, 10:47 AM PST: I split out the Listacular/TaskAgent and TaskPaper/FoldingText sections as they really do have different behavior. Listacular (beta) is currently straddling two worlds though as it tries to support TaskPaper/FoldingText’s @done
syntax.
GitHub Flavored Markdown Task List
GitHub introduced this syntax extension on January 9th, 2013:
- [ ] undone todo item
- [x] done todo item`
- Babelmark Testbed Results (6 passes, 0 failures)
- Babelmark2 Testbed Results (17 passes, 3 failures)
- These 3 failures are all related to not preserving whitespace within the undone todo bracket
Listacular / TaskAgent
- undone todo item
x done todo item
Neither of these are necessarily Markdown editors but both will accept subsets of the Markdown language for formatting. Listacular goes much farther than TaskAgent and is willing to render entire documents as Markdown and do its best to extract todo items (by looking at list items with the -
marker rather than those with an +
or *
.)
- Babelmark Testbed Results (0 passes, 6 failures)
x
is not a valid to signal to a Markdown parser that you wish to have a list item so naturally these fail.
- Babelmark2 Testbed Results (20 failures)
- Errors for the same reason as above.
TaskPaper / FoldingText
- undone todo item
- todo item @done
To be fair, neither TaskPaper or FoldingText actually claim to be “Markdown” editors. They are more “Markdown based” or inspired. Still, people confuse them enough with the Markdown editor set that I think it is worth calling this out.
- Babelmark Testbed Results (6 passes, 0 failures)
- Babelmark2 Testbed Results (20 passes, 0 failures)
- Pandoc has an interesting side-effect of marking up the
@done
with<span class="citation">@done</span>
- Pandoc has an interesting side-effect of marking up the
1Writer
-- undone todo item
++ done todo item
- Babelmark Testbed Results (0 passes, 6 failures)
- None of the parsers were so generous as to accept initial the
-
or+
symbol as a list item presumably because they are all looking for a whitespace character after one of these characters.
- None of the parsers were so generous as to accept initial the
- Babelmark2 Testbed Results (20 failures)
- Similar to the above failures although Pandoc refused to even enter paragraph mode for the initial
--
item and kramdown actually barfed out a parser error.
- Similar to the above failures although Pandoc refused to even enter paragraph mode for the initial
Results Conclusion
Only GitHub Flavored Markdown’s Task list and TaskPaper/FoldingText’s syntax survives mostly intact across most Markdown parsers. Sadly, almost none of the Markdown editors on the market use Github Flavored Markdown as their Markdown engine of choice. Mac OS X Markdown editor Erato is an exception but without a sufficient matching mobile client in the iOS ecosystem there’s little hope for a sane individual to hope to get by choosing this syntax. If omz:software’s Editorial for iPad ever makes it way to the iPhone a lot of us power users might be able to construct our own happy compromises. I can’t really speak to the state of Markdown todo support on Android or Windows Mobile but I’m happy to reference others’ research on this topic.
∞ An "Open Platform"
An “Open Platform”
Lately I’ve grown tired of reading about how a platform is closed or open based on a single facet of its operation. I expect lazy coverage from pundits but much less so from technology journalists.
Open Source
In the age of competing mobile computing platforms we’ve seen a lot of discussion of “openness.” Often these debates focus on the open source angle from the last great technology platform war: Microsoft vs. Linux. Nothing illustrates this more than a single tweet from Google’s Senior Vice President of Mobile, Andy Rubin:
the definition of open: “mkdir android ; cd android ; repo init -u git://android.git.kernel.org/platform/manifest.git ; repo sync ; make”
Andy’s tweet implies that mere access to the source code for your platform along with the ability to build the code in some form is the endgame of openness. Andy’s openness script glosses over the complications an independent developer might have in building the various Android flavors created by HTC, Samsung, or Motorola. If a developer cannot build the various platforms they wish to deploy their application on, is the platform still open?
If source code isn’t a sufficient measure for openness, what other checkpoints might there be for a mobile computing platform?
- well documented public APIs
- standard document interchange formats
- programmatic access to device components
- a “free market” for distributing applications
- unfiltered network access?
- ability to freely switch out the platform on the device itself
There’s only one mobile computing platform I can think of that would receive a passing grade on most of these marks (with several marks of unsatisfactory at that): The Web.
Platforms come in all shapes and sizes with various levels of “openness”. Source-code alone won’t prevent a developer’s business model from being invalidated overnight. Source-code alone won’t allow consumers to switch platforms if their device, platform, handset maker, or carrier denies them the privilege. Source-code alone won’t prevent locking a developer into a licensing strategy (such as the GPL) which will hamper future efforts to transfer, license or expand the intellectual property they’ve developed. Source code that is missing a critical component (application or other forms intellectual property) doesn’t help a developer hunting down a potential compatibility bug or an end-user trying to enhance an application’s workflow to their own liking.
Device Fragmentation
Device fragmentation doesn’t rule out a platform as being open. There’s a lot of device and implementation fragmentation on the Web. We each have our own prism of the Web defined by our browser, network provider, operating system, and user preferences. Any of these players might make a particular shard of the web more or less open.
If the platform and an “application store” help normalize the differences across devices (for both consumers and developers) does that make platform more or less open? Was Mac OS X more or less open before the Mac App Store? Before you answer, factor in the cost to market, sell, and support an application before the App Store. Consider the same experiment for a developer targeting Slackware Linux. If you only provide a limited set of device choices but in doing so you’ve enabled a consistent, fluid, and engaging user interface have you made your platform more or less open?
Openness
There aren’t black and white answers to most of these questions. It is a battle of tradeoffs that enable and hamper platform providers, developers, and consumer in contradictory ways. The Web is seemingly an open platform but has a high barrier to entry for certain types of implementors and business while being extremely open to other uses. iOS is not a “closed platform” because Apple & the carriers dictate the rules of how you may use the hardware & network they’ve essentially leased to you. Android is not an “open platform” because they provide a significant portion of the operating system code.
Platforms are too complex for narrow definitions and it would serve everyone’s best interest if technology journalism would help us unravel the tradeoffs. Users (be they developers, end-users, or business-folk) are ready for sophisticated discourse of mobile technology because we’ve invested our future in making the smartphone a core part of our daily experience.
For more content, look through my Archive.