Miskatonic University Press

Stuff, Standards and Sites

14 April 2014 ar talks

On 26 March 2014 I gave a short talk at the March 2014 AR Standards Community Meeting in Arlington, Virginia. The talk was called “Stuff, Standards and Sites: Libraries and Archives in AR.” My slides and the text of what I said are online:

I struggled with how best to talk to non-library people, all experts in different aspects of augmented reality, about how our work can fit with theirs. The stuff/standards/sites components gave me something to hang the talk on, but it didn’t all come together as well as I’d hoped and in the heat of actually speaking I forgot to mention a couple of important things. Ah well.

I made the slides a new way. They are done with reveal.js, but I wrote them in Emacs with Org and then used org-reveal to export them. It worked beautifully! The diagrams in the slides are done in text in Org with ditaa and turned into images on export.

What I write in Org looks like this (here I turned image display off, but one keystroke makes them show):

Screenshot of editing two slides of content

When turned into slides, that looks like this:

Slide 08

Slide 09

Working this way was a delight. No more nonsense about dragging boxes and stuff around like in Power Point. I get to work with pure text, in my favourite editor, and generate great-looking slides, all with free software.

To turn all the slides into little screenshots, I used this little script I found in a GitHub gist: PhantomJS script to capture/render screenshots of the slides of a Reveal.js powered slideshow. I had to install phantom.js first, but on my Ubuntu system that was just a simple sudo apt-get install phantomjs.


Dying Every Day

11 April 2014 stoicism reviews

I was in New York a couple of weeks ago, and I went to the Strand Bookstore, that multistory heaven of used and new books. I wandered around a while and got some things I’d been wanting. I wanted to read something set in New York so I looked first at Lawrence Block’s books and got The Burglar in the Closet, which opens with Bernie Rhodenbarr sitting in Gramercy Park, which I’d just passed by on the walk down, and then at Donald E. Westlake and got Get Real, the last of the Dortmunder series, and mostly set in the Lower East Side. Welcome to New York.

While I was standing near a table in the main aisle on the ground floor an older woman carrying some bags passed behind me and accidentally knocked some books to the floor. “Oh, I’m sorry, did I do that?” she said in a thick local accent. A young woman and I both leaned over to pick up the books. I was confused for a moment, because it looked like the cover had ripped, but it hadn’t, the rip was printed.

Cover of Dying Every Day

Then I saw what the book was: Dying Every Day: Seneca at the Court of Nero, by James Romm. A new book about Seneca, the Roman senator and Stoic philosopher! Fate had actually put this book in my hand. “It is destined to be,” I thought, and immediately bought it.

It’s a fine book, a gripping history and biography, covering in full something I only knew a tiny bit about. Seneca wrote a good amount of philosophy, including the Epistles, a series of letters full of Stoic advice to a younger friend, but the editions of his philosophy (or his tragedies) don’t go much into the details of Seneca’s life. They might mention he was a senator and advisor to Nero, and rich (as rich as a billionaire today), but then they get on to analyzing the subtleties of his thoughts on nature or equanimity.

Seneca led an incredible life: he was a senator in Rome, he was banished by the emperor Claudius on trumped-up charges of an affair with Caligula’s sister, but was later called back to Rome at the behest of Agrippina, Nero’s mother, to act as an advisor and tutor to the young man. Five years later, Agrippina poisoned Claudius, and Nero became emperor.

Seneca was very close to Nero and stayed as his advisor for years. It worked fairly well at first, but Nero was Nero. This is the main matter of the book: how Seneca, the wise Stoic, stayed close to Nero, who gradually went out of control: wild behaviour, crimes, killings, and eventually the murder of his mother Agrippina. An attempt to kill her on a boat failed, and then:

None of Seneca’s meditations on morality, Virtue, Reason, and the good life could have prepared him for this. Before him, as he entered Nero’s room, stood a frightened and enraged youth of twenty-three, his student and protégé for the past ten years. For the past five, he had allied with the princeps against his dangerous mother. Now the path he had first opened for Nero, by supporting his dalliance with Acte, had led to a botched murder and a political debacle of the first magnitude. It was too late for Seneca to detach himself. The path had to be followed to its end.

Every word Seneca wrote, every treatise he published, must be read against his presence in this room at this moment. He stood in silence for a long time, as though contemplating the choices before him. There were no good ones. When he finally spoke, it was to pass the buck to Burrus. Seneca asked whether Burrus could dispatch his Praetorians to take Agrippina’s life.

Seneca supported Nero’s matricide.

It’s impossible to match that, and other things Seneca did, with his Stoic writings, but it was all the same man. It’s a remarkable and paradoxical life.

Romm’s done a great job of writing this history. It’s full of detail (especially drawing on Tacitus), with lots of people and events to follow, but it’s all presented clearly and with a strong narrative. If you liked I, Claudius you’ll like this, and I see similar comments about House of Cards and Game of Thrones.

I especially recommend this to anyone interested in Stoicism. Thrasea Pateus is a minor figure in the book, another senator and also a Stoic, but one who acted like a Stoic should have, by opposing Nero. He was new to me. Seneca’s Stoic nephew Lucan, who wrote the epic poem The Civil War, also appears. He was friends with Nero but later took part in a conspiracy to kill the emperor. It failed, and Lucan had to commit suicide, as did Seneca, who wasn’t part of the plot.

There’s a nice chain of philosophers at the end of the book. After Nero’s death, Thrasea’s Stoic son-in-law Helvidius Priscus returns to Rome, as does the great Stoic Musonius Rufus and Demetrius the Cynic. The emperor Vespasian later banished philosophers from Rome (an action that seems very puzzling these days; I’m not sure what the modern equivalent would be), but for some reason let Musonius Rufus stay. One of his students was Epictetus, who had been a slave belonging to Epaphroditus, who in turn had been Nero’s assistant and had been with him when Nero, on the run, committed suicide—in fact, Epaphroditus helped his master by opening up the cut in his throat.

Later the Stoics were banished from Rome again, and Epictetus went to Greece and taught there. He never wrote anything himself, but one of his students, Arrian, wrote down what he said, which is why we now have the very powerful Discourses. And years later this was read by Marcus Aurelius, the Stoic emperor, a real philosopher king.

For a good introduction to the book, listen to this interview with James Romm on WNYC in late March. It’s just twenty minutes.


Don't give up your library card number

09 April 2014 libraries privacy

There was good news Monday from the Toronto Public Library (TPL): Toronto Public Library Introduces Online Music and Video. It seemed good at the start, anyway.

Toronto Public Library has introduced a new service that allows customers to download or stream a wide variety of music and video content. With a library card, customers can access music albums from a wide variety of genres, movies, educational television and documentaries. More information is available at tpl.ca/hoopla.

“We’re happy to now offer customers a great selection of music and videos that they can easily stream or download. E-content is our fastest area of growth, with customers borrowing more than 2 million ebooks, eaudio-books and emagazines in 2013. We expect we’ll see even more growth this year with the introduction of online music and video,” said Vickery Bowles, Director of Collections Management at Toronto Public Library.

With just a library card, customers can listen to a wide selection of music albums and watch a variety of video content. Content may be borrowed via a browser, smartphone or tablet and instantly streamed or downloaded with no waiting lists or late fees. Customers may borrow up to five items per month.

Here’s a CBC news report about: Hoopla comes to Toronto: Toronto’s libraries are introducing a new Netflix-like service.

Seems like a very nice service. I’m happy to see my local library system working to get more streaming media to people in Toronto. I’m unhappy with the privacy implications of this, however. (As is Kate Johnson, a professor at the library school at the University of Western Ontario, who’s interviewed in that video clip: she raises the privacy question, but the reporter completely drops the issue). Here are my speculations based on a brief examination of what I see.

The TPL’s page about the new service explains how it works. It says you need an “account at hoopladigital.com (library card and email address required to create)” and “because Hoopla requires a separate account to be created, you may wish to review their privacy policy.” The privacy policy is, oddly, a PDF hosted at an unmemorable Cloudfront URL, and not the official privacy policy on Hoopla’s web site. They are different. For example, the web site version says, “As you use the hoopla service, we record how you use our application, including the materials you borrow. This information is reported to your library, content providers, and licensing agencies. When it is reported, it is always reported in aggregate with other patrons. It is never reported in a manner that associates your account with specific content or activities.” (Update at 19:25: that privacy policy link has been corrected to go to Hoopla’s site.)

None of that bothered me particularly, so I went to sign up for an account to try it out. This is the third step in the process:

Hoopla asks for my library card number

“Enter your libary card number,” it says. “If your library gave you a PIN to use with your library card, please enter it.” I have a PIN, but I stopped here. (I don’t know what happens to people without a password; I’d guess they’re asked to set one up.)

So Hoopla wants my library card number. I posted a comment on Twitter about that and got a number of responses, including three from Michelle Leung (@mishiechau), who said, we review 3rd prty privcy polcies 2 portect cust + we suggest cust. do the same… and we haven’t given hoopla a dump of card #s in advance their systms chk w/ours@ acnt creation time 2 c if user valid..

Certainly Hoopla needs to be sure that anyone claiming to be a Toronto Public Library user actually is. But it looks like they’re doing it by asking the user for their library card number and password and then asking TPL if that is a valid account.

This is not right. There’s no need for any third party to know my library card number. OAuth would be a better way to do it: as it says, it’s “an open protocol to allow secure authorization in a simple and standard method from web, mobile and desktop applications.” This is what they say to anyone offering services online: “If you’re storing protected data on your users’ behalf, they shouldn’t be spreading their passwords around the web to get access to it. Use OAuth to give your users access to their data while protecting their account credentials.”

Who’s behind Hoopla, anyway? It’s a sevice run by Midwest Tape, who on their Twitter account say “Midwest Tape is a full service DVD, Blu-ray, music CD, audiobook, and Playaway distributor, conducting business exclusively with public libraries since 1989.” They’re run out of Holland, Ohio, in the United States.

I suspect this means the Toronto Public Library is offering a service that requires users to give their library card number and password to an American company that will store it on American servers, which means the data is available to the US government through the PATRIOT Act. (Of course, we also need to assume that all library data can be access by our spy agencies, but we need to do what we can.)

I may be wrong. I’ll ask Hoopla and TPL and update this with what I find.


The Norman Conquests

04 March 2014 theatre

I had the enormous pleasure on Saturday and Monday of seeing the three plays that make up The Norman Conquests by Alan Ayckbourn, put on by the Soulpepper company here in Toronto. This review of the October 2013 production explains well how well done they all were and what great plays they are. It was more excellent work by Soulpepper; even more enjoyable than usual because seeing three plays in such a short time—two Saturday and one Monday—concentrates and intensifies everything.

Here I note two especially interesting about the trilogy: the chronology and the fact that Norman is a librarian. I admit that second fact is of limited interest to non-librarians, but after all I myself am a librarian.

Photo of books on side table
The books on stage were perfect. These are in the sitting room; there were Agatha Christies in the dining room.

Chronology

The three plays all take place over the same weekend with the same six characters, but Table Manners is set in the dining room, Living Together in the sitting room, and Round and Round the Garden in the garden. Each has two acts with two scenes, but the times are staggered, so as you see them—I saw them in that order—the pieces all lock together, and when someone enters a room in one play you realize you saw them leave from another room in another play, or when someone says something offhand in one play you realize they’re covering up an intense experience from another play.

Table Manners

  • I.i: The dining room. Saturday evening, 6 pm
  • I.ii: The dining room. Sunday morning. 9 am
  • II.i: The dining room. Sunday evening, 8 pm
  • II.ii: The dining room. Monday morning, 8 am

Living Together

  • I.i: The sitting room. Saturday, 6:30 pm
  • I.ii: The sitting room. Saturday, 8 pm
  • II.i: The sitting room. Sunday, 9 pm
  • II.ii: The sitting room. Monday, 8 am

Round and Round the Garden

  • I.i: The garden. Saturday, 5:30 pm
  • I.ii: The garden. Saturday, 9 pm
  • II.i: The garden. Sunday, 11 am
  • II.ii: The garden. Monday, 9 am

Round and Round the Garden comes third in the sequence but contains the weekend in time: it begins first, Saturday at 5:30 pm, and ends last, in the garden on Monday morning at 9 am when people are leaving.

Seeing all three, and spending over six hours with the six actors—while sitting in the front row of an arena theatre!—was a marvellous experience.

Digression

The Norman Conquests was first produced at the Library Theatre, which at the time was inside the library in Scarborough in Yorkshire.

Ayckbourn’s official web site has a huge amount of material about The Norman Conquests.

Librarian

One of the characters is a librarian: Norman, played by Albert Schultz. He does it as a great hairy shambling kind of a man, as many male librarians are, and suitably dressed in a cardigan, as all librarians are. There are a few good library-related lines:

From Table Manners:

I.ii:

Norman: The trouble is, I was born in the wrong damn body. Look at me. A gigolo trapped in a haystack. The tragedy of my life. Norman Dewers—gigolo and assistant librarian.

II.i

Ruth: Forget it. You couldn’t possibly take Norman away from me. That assumes I own him in the first place. I’ve never done that. I always feel with Norman that I have him on loan from somewhere. Like one of his library books. I’ll get a card one day informing me he’s overdue and there’s a fine to pay on him.

From Living Together:

I.i:

Sarah: I thought you were in a hurry to go somewhere, Norman.

Norman: Not at all.

Reg: Yes, I thought you said you had a—librarian’s conference.

Norman: It’s been cancelled.

Reg: When?

Norman: About ten seconds ago. Due to lack of interest.

Reg: Funny lot these librarians.

I.i:

Sarah: It’s a bit late to consider his feelings now, isn’t it? Having tried to steal Annie from under his nose.

Norman: I wasn’t stealing her, I was borrowing her. For the weekend.

Sarah: Makes her sound like one of your library books.

I.i:

Annie: What are you going to tell Ruth?

Norman: What I was going to tell her anyway. I’ve been on a conference.

Annie: Which finished early?

Norman: Something like that. We ran out of things to talk about. What does it matter? She won’t care. She probably thinks I’m in the attic mending the roof.

Annie: I didn’t know Assistant Librarians had conferences.

Norman: Everybody has conferences.

II.ii:

Ruth: You’re supposed to be at work too.

Norman: I was taken ill, haven’t you heard?

Ruth: I’m amazed they keep you on.

Norman: I’m a very good librarian, that’s why. I know where all the dirty bits are in all the books.

From Round and Round the Garden:

III.I

Tom: Oh. I thought you said you were staying.

Norman: No, I’m just passing through on my way to East Grinstead.

Tom: Really? Business?

Norman: Yes. International Association of Assistant Librarians Annual Conference.

Tom: Jolly good.

III.ii:

Norman: I was brought up to believe it was very insulting to sleep with your wife or any lady. A gentleman stays eagerly awake. He sleeps at his work. That’s what work’s for. Why do you think they have SILENCE notices in the library? So as not to disturb me in my little nook behind the biography shelves. L–P.

Ruth: They’ll sack you.

Norman: They daren’t. I reorganized the Main Index. When I die, the secret dies with me.


Elizabeth Jane Howard

17 February 2014 literature

Elizabeth Jane Howard, the English writer, died on 2 January 2014. The obituary in the Guardian covers her life nicely and it’s a good place to start if you don’t know her.

Cover of Slipstream, by Elizabeth Jane Howard

She had an incredible life: she was born in 1923 and died aged 90 one month after a novel her readers never expected—it was her fifteenth—was published. Her mother was friends with Angela Thirkell, her mother’s father was composer Arthur Somervell. Her first husband was Peter Scott (son of Scott of the Antarctic and Lady Kennett) and her third was Kingsley Amis. While married to Peter Scott she had an affair with his half-brother Wayland Young. She had a lot of affairs, some brief and some long, usually with older married men, including Laurie Lee (on a very happy short vacation in Europe), Cecil Day-Lewis (decades later he died peacefully at the family home of her and Amis), and Arthur Koestler (required an abortion).

I was introduced to EJH by my cousin Oona Eisenstadt. It was a few years ago, when the Harry Potter books were still coming out, and she said she’d seen a letter to the editor saying the tension and excitement of waiting for the next Potter book hadn’t been seen since the delays between the Cazalet Chronicles. Oona had enjoyed the Cazalet series very much, and if Oona likes something I’ll read it, so I got the first two. I was out of town when I read them, and I remember it was a hot summer evening when I came back to Toronto on the bus soon after; the bus was about twenty minutes late and the huge bookstore near the bus station was closed by the time I got into town, so I couldn’t buy the third right away. I had to wait a day. I was annoyed.

Back then there were four books in the Cazalet series:

They cover the lives of everyone in and around the extended Cazalet family from about 1937–1947, especially concentrating on life at home during the war. The Cazalets are a well off, upper middle class family who run a company that deals in imported wood. There are two grandparents who have three sons and a daughter; two of the sons are World War I veterans. Life concentrates around Home Place, the large family house in the country, where most of them move during World War II.

The Light Years has one of the most astounding, sure and confident openings I’ve ever read. Everyone in the Cazalet family is heading to Home Place for a holiday, and one by one, person by person, through the parents, grandparents, children, and servants and staff, we meet each person, seeing them get ready in the morning and prepare for the trip. The vignettes are all short, sometimes under a page, and it’s confusing at the start because we don’t know how everyone fits together, but piece by piece it all begins to sort itself out, and we figure out how this six-year-old is the child of these parents and the cousin of this girl, and finally, out of this vast sprawling canvas, it all comes together into one large extended family gathering at their special home, and we know the inner workings of every person there.

Almost twenty years after those four books came out, it was quite a surprise to find out there would be a fifth:

  • All Change (2013)

There was a fine piece in the Guardian in April 2013 about EJH and the new book: Elizabeth Jane Howard: ‘I’m 90. Writing is what gets me up in the morning’.

The book came out a month before she died. It wasn’t perfect (Frances Wilson’s review in the TLS, No more Cazalet secrets, disparages it as middlebrow), but it was very good, I enjoyed it very much, and as an end of EJH’s career and life, it was an astounding achievement.

The obituaries made me want to read her 2002 memoir Slipstream, which I just finished. I’d had no idea how autobiographical the Cazalet novels were, but it turns out they’re fictionalized memoirs themselves. The three girls in the novels are all aspects of her, and other elements of other lives also come from hers. Her grandfather, like the senior Cazalet, was called the Brig, and her family all went to Home Place. Her mother was an incredibly talented but frustrated former dancer to whom everything came easily, like Villy; and like Villy and Lydia, her mother did not love her. It’s quite a surprise to read the memoir and see how much of the novels come from her life.

Anthony Thwaite’s 2 November 2002 review When will Miss Howard take off all her clothes? sums up the book nicely:

This is a brave, absorbing and vulnerable book.

It mentions some of the memorable bits from the book. Here are a few I like myself.

From the preface:

There is a sharp line between self-absorption and taking responsibility for what and who one is. Without the latter, it’s easy to assume that everything simply happens to one, and the result, an unselfish victim emerges. One needs to be on this fine line, not either side of it, and like very other endeavour in this world, this requires a good deal of practice. Speaking as a very slow learner, I feel as though I have lived most of my life in the slipstream of experience. Often I have had to repeat the same disastrous experience several times before I got the message. That is still happening. I do not write this book as a wise, mature finished person who has learned all the answers, but rather as someone who even at this late stage of seventy-nine years is still trying to change, to find things out and do a bit better with them.

Before her marriage to Peter Scott in 1942:

I spent the night before in a dingy hotel near the church with my mother. There was good deal of tension. When she asked whether I knew about the “difficult” side of marriage, I said coldly that of course I did—there was no need to talk about it. She subsided with relief.

In 1945, about conductor Malcolm Sargent:

When his chauffeur drove us back to Edwardes Square, I asked whether he’d like a drink. He said yes, and told his chauffeur to return in half an hour. I left him in the drawing room and went down to get the whisky and soda he’d asked opted for. When I returned it was to find him without his trousers. I told him anything like that was out of the question, fighting down panic with the reassuring knowledge that I wasn’t alone in the house. Unabashed, he put on his trousers again. He did hope I hadn’t misunderstood him, he said, as he left. I wondered what he meant.

In the 1970s, about her close friend Victor Stiebel, who had muscular dystrophy:

More poignantly he said on another occasion, not looking at me, “Sometimes, at night, I fall out of bed and just have to stay there until morning when Miss Brandt comes in with my tea.” I felt so paralysed, so appalled by this sudden vision of his helplessness with all the concomitant discomfort—cold, stiffness and sheer bloody frustration—that I couldn’t speak. He gave me a quick look and changed the subject. Why did I not have the kindness to say something so that he could speak of it further, as I now think he wanted to? I didn’t know then that it isn’t pity that people in such distress want, it’s understanding.

And about the death of her mother, who lived with her and Kingsley Amis for years:

“You’re a good little nurse,” she said. It was the nicest thing she’d said to me for—oh, years, and tears were hot in my eyes. I got the whiskey, served dinner, then heated some milk with Horlicks. When I took it in to her, she was dead. I picked up her small frail wrist, there was no pulse—but anyway, I knew she was dead. The knowledge that she’d died entirely alone, that I hadn’t been there to hold her hand, to comfort her, was one of the most painful experiences of my life.

It’s a powerful book. Elizabeth Jane Howard made a lot of mistakes through her life, and it took her a long time to begin to figure things out. Many of the mistakes weren’t ultimately her fault—her mother didn’t love her, her father molested her—but she took responsibility for them. They were her mistakes. Later in life she began to have greater insight into why she’d done what she’d done and why others had done what they’d done. There’s something in that for all of us.

EJH was on Desert Island Discs twice, first on 29 April 1972, when she was still married to Kingsley Amis. This exchange is worth noting:

Roy Plomley: Miss Howard, how autobiographical are your novels? How much of your own experience goes into each?

EJH: Practically none, except the places I’ve been to. I don’t write ever about people I know.

She began psychotherapy while with Amis and she found it very useful and helpful. She kept it up for years, and it must have changed her approach to writing, because future books were closely based on personal experience.

When the Cazalet series was done she was on Desert Island Discs again, on 29 October 1995. She spoke frankly about being lonely (though not as frankly as in Slipstream, where she says she’d been on her own for about fifteen years by then without any partner and without any sex life). A man wrote her some letters in response to the broadcast; she replied, and ultimately they began a relationship. He turned out to be a con man. She turned it into her 1999 novel Falling.

She was a hell of a woman. If you don’t know her work, try The Light Years and go on from there.

Further reading:


Standards uniting AR apps

12 February 2014 ar

Christine Perey sent some good news around to the AR Standards mailing lists a couple of days ago: First mobile AR browser interoperability demonstration to take place Feb 25:

It’s official!

The results of a collaborative effort involving metaio, Layar and Wikitude based on a jointly-defined architecture, a Common AR Interchange Format (CARIF) based on candidate OGC standard ARML 2.0 and an AR Launch URL scheme, will be publicly demonstrated on February 25.

The AR Community’s browser interoperability engineering group’s proof of concept “custom browser” implementations will be demonstrated as part of the OGC “Location Standards for a Mobile World” seminar and reception at the ICC in Barcelona.

When using one of these custom AR browsers, content that was originally authored to work using one of the other AR browsers based on geospatial coordinates will load and support pre-defined functions.

For more information about the architecture: http://www.perey.com/ARStandards/AR_Browser_Interoperability_Architecture_Jan_21_2014_v1_2.pdf

The announcement was also picked up by Bruce Sterling and posted on his blog: http://www.wired.com/beyondthebeyond/2014/02/augmented-reality-interoperability-demo/

Congratulations to metaio, Layar and Wikitude!

Congratulations, indeed. This is really good news and a great step towards easier and wider adoption of augmented reality.

The Open Geospatial Consortium has an announcement too: OGC, Layar, Metaio and Wikitude invite Mobile World Congress attendees to AR Interoperability Demo, which says in part:

The common AR interchange format that enables this AR interoperability is based on the candidate OGC ARML 2.0 Encoding Standard that Martin Lechner of Wikitude introduced into the OGC, with the goal to provide an interchange format for Augmented Reality. After it has been successfully tested in the interoperability experiment, ARML 2.0 will be reviewed by the OGC membership to become an adopted OGC standard within the next couple of months. The companies demonstrating AR interoperability believe tomorrow’s AR market will be much more open, and thus much larger, than today’s AR market. Today, a user equipped with an AR-ready device, including sensors and appropriate output/display support, must download a proprietary application to experience content published using an AR experience authoring platform. A subset of these applications are referred to as “AR browsers.” AR browser interoperability benefits at least these four stakeholder groups:

  • Content Publishers will be able to offer AR experiences with their content to larger potential audiences (e.g., all users of AR browsers that support interoperability) with equal or lower effort (costs) of preparing/producing AR browser-based experiences with their digital assets,
  • Developers of AR experiences will be able to choose the AR experience authoring environment they prefer or is best suited to a project without sacrificing the “basic” experience they can offer their clients’ target audiences and also be able to invest in innovation (specialize) in preparation of highly engaging and interactive experiences,
  • Attracted by larger total audience size and lower barrier to entry, there will be more content publishers willing to invest in AR and greater number of developers learning/perfecting AR experience design, generating higher revenues for AR authoring and content management system providers, and
  • End users will be able to discover and select AR experiences from a larger catalog while also choosing the AR browser they prefer.

Key sentence there: “After it has been successfully tested in the interoperability experiment, ARML 2.0 will be reviewed by the OGC membership to become an adopted OGC standard within the next couple of months.”

As the ARML 2.0 Standards Working Group puts it:

The ultimate goal of ARML 2.0 is to provide an extensible standard and framework for AR applications to serve the AR use cases currently used or developed. With AR, many different standards and computational areas developed in different working groups come together. ARML 2.0 needs to be flexible enough to tie into other standards without actually having to adopt them, thus creating an AR-specific standard with connecting points to other widely used and AR-relevant standards.

It will be a major advance when this is settled and adopted.

I wrote a point of interest provider, Avoirdupois, that right now only works with Layar. It uses the Layar API to answer the correct Layar way when Layar asks, “Do you know know of any points of interest within 1500 meters of location (x, y)?” If you’re using Layar—in fact a particular layer (or channel) in Layar—and want to know what’s around you that you can see in an AR view, that’s great. It works just like it was supposed to.

But what if you’re using Wikitude? The Wikitude ARchitect specification defines a completely different way of doing things. I was going to look at Retrieving POI Data from a Web Service to see how Avoirdupois could support that.

And then Junaio does things still differently, so I was going to have to look at the developer documentation about location-based channels to see how Avoirdupois could handle that too.

Layar, Wikitude, Junaio … all have different ways of asking, “Is there anything of interest near location (x,y) that the user should see?” And all expect different answers. ARML 2.0 will mean there’s just one kind of answer, and all of the AR applications can use it.

Here’s Christine Perey’s tweet showing the test in action:

Same source content presented in 3 interoperable #AugmentedReality browsers @Layar @metaioUS @wikitude

When ARML 2.0 is defined then I’ll work to have Avoirdupois use it.

And when there’s an easy way for awe.js to ingest it, and you can easily see standards-based AR in your mobile browser, everything will get much easier and even more exciting.


More about Emacs and Jekyll

26 January 2014 emacs jekyll

Thanks to Blogging with Emacs Org-mode and Jekyll my Emacs and Jekyll integration is much better—even though I’m not using Org. I’m still just using plain old Markdown to write things. I use Org for everything else, so I may convert, but for now it’s all working nicely.

If I want to draft a new post, somehow I need to:

  • create a new file in ~/web/_drafts/
  • with a title of my choosing, which will become the filename
  • put the YAML front matter into it
  • write in it

I could do all that by hand the hard way, sure, but it seems like something nice for Emacs to automate. And now it does! I hit C-c j n (C-c is for local commands, j means Jekyll, n means new post), Emacs asks me for a post title, and it creates a draft post for me.

Here’s the Lisp stuff that makes this part of things work. This is what Emacs config files look like.

(global-set-key (kbd "C-c j n") 'jekyll-draft-post)

(defvar jekyll-directory "~/web/" "Path to Jekyll blog.")
(defvar jekyll-drafts-dir "_drafts/" "Relative path to drafts directory.")
(defvar jekyll-post-ext ".md"  "File extension of Jekyll posts.")

(defun jekyll-make-slug (s) "Turn a string into a slug."
  (replace-regexp-in-string " " "-"  (downcase (replace-regexp-in-string "[^A-Za-z0-9 ]" "" s))))

(defun jekyll-draft-post (title) "Create a new Jekyll blog post."
  (interactive "sPost Title: ")
  (let ((draft-file (concat jekyll-directory jekyll-drafts-dir
                            (jekyll-make-slug title)
                            jekyll-post-ext)))
    (if (file-exists-p draft-file)
        (find-file draft-file)
      (find-file draft-file)
      (insert (format jekyll-post-template (jekyll-yaml-escape title))))))

When I’m ready to post the draft, I hit C-c j p while I’m editing it, and Emacs gets it ready for publication by renaming the file to include the datestamp and moving it to ~/web/_posts/.

All of the code is in setup-jekyll.el from my .emacs.d.

Being able to do all this from within Emacs is just what I wanted. Beautiful!


awe.js

24 January 2014 ar

I am excited about awe.js, which lets you build augmented reality in the browser. It’s new from Rob Manson and BuildAR.

Here’s a video of it in action, showing everything it can do right now, which is impressive:

There are two examples included with the code, and I don’t see them easily viewable elsewhere, so I’ve got them on my site:

If you’ve got an Android device running Firefox or Chrome (possibly the Beta Chrome app required), try the geo example. (Try it on those browsers on your desktop, too, it might go, but then again it might not work for you whatever you try. It’s early days for all this.) It’ll ask you to share your camera with my web site (just to make this work—I’m not doing anything with the video), then your browser will be taken over by your camera view. Look around you and you’ll see virtual objects in place near you. That’s augmented reality!

For the marker one, go to the page and share your camera, then point it at this fiducial:

Marker to trigger awe.js

It will recognize the image and augment it. (If it doesn’t work on your screen, try printing it out on paper.) Move the camera and the augmented will change: it’s registered in 3D, and you can walk around it on all sides, or look at it from high or low.

This is all happening in your browser! It’s done with Javascript built on HTML5 and standards like WebRTC, WebGL, the Geolocation API so on. (It also calls in three.js, a Javascript 3D library, and JSARToolkit, a Javascript port of the FLARToolkit, which was a port of the ARToolkit, to do its stuff.)

It’s pure, clean web! No custom application required, just a good browser. Once there’s better standard support on all platforms, it will just work. It’s non-trivial, but it’s free and open (under the MIT License, I think), and if you know the web, you can poke at it and try it out. There are many, many more people that know how to hack on the web than know how to make smartphone apps. And there are even more people who can tinker a bit once a platform’s built. Imagine if there are plugins for WordPress or Drupal that let you enter some numbers and media into a form and then it turns it into an AR view for you. That’ll be coming, I’m sure.

Here’s a bit of the Javascript that makes the geo example work. You can see this part, at least, is pretty straightforward. Add a couple of points, and then define their look.

// add some points of interest (poi) for each of the compass points
awe.pois.add({ id:'north', position: { x:0, y:0, z:200 } });
awe.pois.add({ id:'north_east', position: { x:200, y:0, z:200 } });

// add projections to each of the pois
awe.projections.add({
    id:'n',
    geometry:{ shape:'cube', x:50, y:50, z:50 },
    rotation:{ x:30, y:30, z:0 },
    material:{
        type: 'phong',
        color:0xFF0000,
      },
    }, { poi_id: 'north' });

awe.projections.add({
    id:'ne',
    geometry:{ shape:'sphere', radius:10 },
    material:{
        type: 'phong',
        color:0xCCCCCC,
      },
    }, { poi_id: 'north_east' });

awe.js is new, and Rob and his colleagues have a lot planned for it. I hope it attracts a lot of interest. If awe.js can be distilled to something as clean and useful and easy as jQuery then it would be easily usable by many people. That will take some work, but building towards something like that will help fuel an explosion of web-based AR. (In his tutorial he also mentions the Leap Motion, Google Glass and other wearables. A common tool, or at least a common approach, will help everyone working in this area, especially as standards are refined and implemented properly and then extended.)

I say it again: this is all happening in your browser! Everything about HTML, Javascript, JSON, it’s all in play now. Web hackers of the world, have at it.

Now me, I tried to get a lat/lon-aware example working, but couldn’t get it figured out. I hope Rob will post a tutorial or example soon so I can crib from it. And I’ve got to start hacking on more Javascript.