Bridging the gap between native and web
- Offline First: Your Next Progressive Enhancement Technique? – useful roundup by Craig Buckler on Sitepoint
- Laying The Groundwork For Extensibility an excellent article on specifying the web forward, with examples as well as philosophy (I like examples, as I’m Too Thick For Philosophy™)
- LargeLocalStorage LargeLocalStorage bridges browser incompatibilities to give you a large capacity (up to several GB when authorized by the user) key-value store in the browser (IE 10, Chrome, Safari 6+, Firefox, Opera).
Standards ‘n’ stuff
- Individual addressability of CSS things – “Individual addressability of things is a lovely property of CSS, and we shouldn’t just abandon it.” says FOSS loveball Stuart Langridge
- screen.width is useless writes PPK. “I tested screen.width/height and related properties in the mobile browsers. The conclusion is that screen.width/height is completely unreliable.”
- CSS properties for snapping during scrolling – Mozilla’s take on Micorsoft’s CSS submission to W3C
- Responsive images – end of year report It’s nearly two years since I suggested a <picture> element as a strawman proposal as a way to solve the problem of responsive images, so let’s have a look at how we’re doing.
- Why We Need Responsive Images: Part Deux
- CSS Shapes From Images
- The second operating system hiding in every mobile phone – “a small operating system that manages everything related to radio … . Put a compromised base station in a crowded area…and you can remotely turn on microphones, cameras, place rootkits, place calls/send SMS messages to expensive numbers, and so on.”
- Why GitHub is not your CV – “your GitHub profile is about as relevant to a decent hiring decision as your Klout score”
- AbsurdJS: JS-based CSS/HTML preprocessor – “I decided to reinvent the wheel and write my own CSS preprocessor”.
- Cachemonet – a generative mashup of gifs and music, best enjoyed full-screen, loud and after 4 tokes.
- “This Photo Jigsaw features an image of Anal sack of a double spined urchin” – a must for your loved ones at Xmas
Closing the gap between native and web
- The Revolution Will Be Written In HTML – “The internet is the greatest democratizing force of our time” from a developer in Kenya.
- Why I create for the web – “the most amazing thing about the web is simple yet devastatingly powerful, and the whole reason the web exists in the first place. It’s the humble hyperlink.”
- Apps are too much like 1990′s CD-ROMs and not enough like the Web said Scott Hanselman (in 2011)
- How can HTML5 compete with Native? “Browser politics play a key role to HTML5 development: Besides Opera, all major browser vendors are mobile OS vendors.” Yay, independence!
- Native Mobile Apps are the New Flash – “A great stopgap measure while the web caught up”
- Use cases for browser sniffing – interesting survey by Mozilla on UA detection use cases. If you do it, don’t be shy – tell us why!
- Explaining The Last Clause of the src-n Grammar (and why
srcsetis “fucking terrible”) by Tab Atkins
- Responsive Image proposals: fight between WebKit and Blink reps. Tab’s right. Bring your art-directed popcorn. Meanwhile, Mozilla marks the bug to implement srcset “wontfix”; “will file a bug to implement src-n instead” writes Mozilla’s Mr Marcos.
- CARGO CULT CSS
- Creating Non-Rectangular Layouts with CSS Shapes
- Open-Sourced H.264 Removes Barriers to WebRTC – Cisco releases open h.264, absorbs licensing costs. Note: this is just the video codec, not the accompanying audio codec that usually makes up mp4 video
- CSS Scroll Snap Points – another interesting W3C submission from Microsoft
- cite and blockquote – reloaded – “The definitions of the blockquote and cite elements in the HTML specification have recently been updated. This article explains what the changes mean for developers.”
- State of the Mobile Web: Bangladesh: 3 in 4 Opera Mini page views are Facebook. Nokia is dominant handset. Opera Mini on Smartphone use up 220% year on year
- “Steve Jobs patent upheld”
- Lossy Compressed Image Formats Study – Mozilla
- Icon fonts, unicode ranges, and IE8’s compatibility mode using icon fonts in the private use area of the unicode range makes IE8 pretend to be IE7.
- Talking of unicode, What’s new in Unicode 7.0 ? – Reversed Hand with Middle Finger Extended”, “Reversed Victory Hand” (British equivalent of the finger), and “Raised Hand with Part Between Middle and Ring Fingers” (live long and prosper) and “MAN IN BUSINESS SUIT LEVITATING” as well as many, many others
- Thoughts on “the end ™” of MathML in Chrome/Chromium
- Avoiding Unnecessary Paints: Animated GIF Edition
- Streams API (Editors Draft) “provides an API for representing binary and string data in web applications as a Stream object, as well as programmatically building and reading its contents.”
- Long Term Web Semantics by Alex Russell. “Something irks me about the phrase “semantic HTML”. TL;DR – semantic elements have to do something; Semantic Web is not going to happen; Web Components are the future.
- A guide to using Github Pages
- RemoteDebug – ” an initiative to unify remote debugging across browsers”. Also .nex, to unify extensions
- Extensionizr “helps you create the basis for your own awesome chrome extension!”
- ios-webkit-debug-proxy A DevTools proxy (WebKit Remote Debugging Protocol) for iOS devices (Safari Remote Web Inspector).
- Burka Avenger: Pakistan’s first female super-hero: a teacher-by-day, masked-vigilante-by-night who uses books and pens to defeat Taliban-like figures. Should (can?) a super-hero be wearing a burka?
- Best Pictures from Russian Dating Sites
- Weblebrity trumps
- Rude Tube Map
- fuck yeah psychedelic cats
If Molly Holzschlag has helped you (and if you’re a webdev, she has), please help her pay for her chemotherapy. And then have a think about the morals of a first world society that doesn’t provide this to its citizens.
We went to see David Tennant as Richard II in the Royal Shakespeare Company’s eponymous production last night. As a production it was all you’d want from RSC – great actors, impeccably staged. But I can’t get over the feeling that actually, it’s just not a very good play (or it simply hasn’t aged well).
It’s a reasonably early Shakespeare play, almost all in iambic pentameter with very little prose, and a great deal of rhyming couplets (later plays close scenes with a rhyme, but don’t use it throughout). This made a lot of it sound like a Hallmark greeting card poem as the rhyme and rhythm are quite regular.
There’s also a howling clunker of plot, in which one character simply forgets to tell another of the death of the previous King’s widow:
[Servant:] My Lord, I had forgot
To tell your Lordship, to day I came by, and call’d there,
But I shall grieve you to report the rest
[York:] What is’t knave?
[Servant:] An hour before I came, the Duchess died.
I almost laughed out loud at this.
Another problem is that Richard II is a thoroughly unlikeable character. Perhaps it’s a failure of Tennant’s acting or Greg Doran’s direction (but I doubt it; they’re both highly professional) but Richard simply has no redeeming features, so you I didn’t care what happens to him. He’s vain, messianic and treats his nobles badly. He deserves to lose the throne. At least with Richard III, you enjoy his evilness; Richard II just seems rather wet.
Leaving Germany earlier today, I tweeted a farewell, politely using the native language of those I was farewelling “Ladies of Germany, auf wiedersehen. But don’t cry in your sobbenbunkers: I shall be back to schaden your freudes and zeit your geists asap”.
Two German speakers asked me what “sobbenbunker” means, which surprised me. It simply refers to a room for crying in. German culture invented the word “angst” because Germans spend at least 15% of their day crying over existential worries about the futility of it all. Given that most homes have a dedicated room for the toilet – an activity which normally consumes much less than 15% of the day – it’s unsurprising that middle class Germans had a dedicated room for weeping and sobbing. (Now they get it all out at football matches.)
The “sobbenbunker” was the subject of one of the big song and dance numbers that German poet Goethe wrote in his early draft of “Faust: the musical”. In the song, Mrs Faust learns of her husband’s pact with the devil, and goes off for some angst in the sobbenbunker. Faust sings “My pact with satan is a clunker/ mein Frau ist in der sobbenbunker./ My heart recoils at words she’s spoken: / for me, her fotze is verboten.”
However, Goethe removed the song before publication. Although at heart, he was a light entertainer, he was constantly stung by criticism from serious High German artists that he was dumbing-down the culture. Beethoven and Brecht were particularly scathing, deliberately re-naming him “Goatse” in interviews to show their disdain. In an attempt to rid himself of his low-brow image, he took all the songs out of “Faust: the musical”, and reinvented it as a rather dull treatise on good and evil.
Mariya tweeted a link to an article on why young women in rural China become mistresses of older men, which reminded me of living next door to a paid mistress in Thailand, and she prompted me to blog about it. So here goes. Names are changed, by the way.
When I moved to Thailand in 1996 to help set up a school, I took a 3 month rent on a small room in a new hotel near my work. On my floor there was only one other resident, a very well-dressed, attractive woman in her mid-20s. We soon became friends, leaving our doors open and popping in and out of each other’s rooms to chat, gossip, eat, drink beer and smoke.
Lek didn’t seem to work, but attended college every day to learn how to cook, went out most nights and, frankly, seemed to have more disposable income than I had. This was surprising for two reasons; firstly, most Westerners employed in Bangkok with work permits earned three or four times what the locals earned. Secondly, while there were many Thai kids with rich parents, they tended to be fair-skinned, whereas Lek was dark-skinned and from the impoverished Southern provinces of Thailand where a long-running terrorism campaign to secede from Thailand and join muslim Malaysia had damaged the area.
I asked her about it, and she told me straight: she had an older, Western boyfriend called Mike who was posted to work in Thailand in some big engineering project. Mike was married, but his wife was back in England with their kids. Mike paid for the apartment, her college course and took care of her living expenses. In return, she was his mistress. She was to be available for sex, going out to parties or weekends away. The sole stipulation was that she was not to have sex with anyone else (a wise move; in the late 90s, HIV was rife in Thailand). She didn’t love Mike, although she liked him – she viewed it purely as a business relationship. Mike, however, did get jealous of me (until we lied and told him I’m gay); I found lots of Westerners who had mistresses or picked up prostitutes deluded themselves that they were emotionally involved rather than simply buying a service.
Before I’d met Lek, I had always assumed that prostitution was a sordid business of trafficked or abused women being forced into it by a pimp. It had never occurred to me that it could be voluntary. I asked Lek if she felt exploited. “Absolutely not”, she answered. She explained that she had a sister, a year younger, still living in the home village “in the jungle” (as she put it). Her sister had four children by a man who beat her when he was drunk, and who forced her to wear a veil. “I have a nice apartment, I’m getting an education. Mike is a good guy who treats me well, we go to parties where I meet lots of people, I’ve learned English and have friends from all over the world. This is freedom – don’t pity me.”
Who was I to argue?
It made me wonder, though, why we still get so squeamish about sex. If someone works with their bodies to entertain by dancing, or gymnastics, or sports, we don’t pity them. Neither do we condescend to other people who look after others’ physical needs for money – we don’t pity a person who cooks food or others, or cuts their hair, or massages their aches, or looks after their teeth. So why do we look down on people who voluntarily offer sexual services?
Closing the gap
A look at some discussions and emerging standards that attempt to close the gap between usability of web and usability of native apps:
- Installable webapps: extend the sandbox – a proposal by Boris Smus of Google to allow web apps that are actually on the web (rather than packaged) use extended permissions
- Exposing privileged APIs to web content – similar to the above: “a discussion on the challenges we face in exposing privileged APIs to web content and a proposal for exposing such APIs to web pages by mitigating the risks inherent in doing so” by Rich Tibbett (Opera)
- Enabling new types of web user experiences – “In the court of public opinion, the war between native apps and web apps appears to be over. Even though the web world is valiantly and consistently improving the web platform, the world seems to have moved on, embracing and rewarding native apps.”
- requestAutocomplete – take my money, not my time – an article by @jaffathecake on the API that’s “a superhero in beige clothing”, eg that looks quite dull but which makes payments, especially on mobile, much easier
- What is EME (Encrypted Media Extensions)? asks (then answers) Mozilla’s Henri Sivonen: “soon the video DRM capability will be the only thing that Silverlight and Flash have but the HTML/CSS/JS platform doesn’t”
- initial-scale=1 makes Safari iOS react to orientation change by PPK
- If you don’t know about unicode and internationalization, it’s time to find out says Oli Studholme
- script[defer] doesn’t work in IE< =9
- How to Send a File Using WebRTC Data API
- ECMAScript Internationalization API by David Storey
- How to build a 3D City in 256 bytes with Canvas 2D by Opera’s p01.
- How does Flexbox relate to Grid Layout? Tabindex Atkins has the answer
- clarifying use of <section> – proposed change to spec of <section> to recommend use of a heading
- WinPhone 8 update 3: device-width in CSS @-ms-viewport rule now correctly renders pages
- Internet Explorer team: “Web Components are trying to solve a hard problem: we love the debate, but no support plan yet.”
- Researcher Controls Another Person’s Brain Over the Internet – “Mr. Rao then sent a signal to Mr. Stocco’s brain, forcing him to move his right index finger to hit the “fire” button in a computer game.”
- SEEN THROUGH GLASS – Stuart Langridge reveals himself to be a massive hipster and tries Google Glass
- The developed world has the most affordable mobile broadband – chart from The Economist
- iPhone IP Wars: Apple & the thorny issues of patent protection
- Personality, Gender, and Age in the Language of Social Media – “We analyzed 700 million words, phrases, and topic instances collected from the Facebook messages of 75,000 volunteers, who also took standard personality tests, and found striking variations in language with personality, gender, and age” (Infographic)
- OUR LOGO LOOKS LIKE UNDERPANTS: A CASE STUDY IN INTERNATIONALIZATION – “Without exception, every tweet that ever suggested that our logo looks like underpants had come from the UK”
Not to be outdone by Sil’s 15 Minute Meals done by an idiot, here’s the lunch I cooked my yesterday for my brood as a change from normal roasts, to unanimous acclaim and a request to do it for Xmas dinner.
- Enough chicken legs for everyone
- 8 good sausages (I used Sainsbury’s best Pork and Apple ones)
- Loads of thyme and some sage (out of the garden)
- Half a chorizo ring
- Jar of black olives (cheapo ones are fine)
- 4 cloves of garlic
- Some pickled chills if you like a tang
- butternut squash (or courgette, or potato, or whatever)
- 2 – 3 parsnips, depending on size
- 4 or 5 good size carrots
- 3 oranges (and some lemon/ lime if you want)
- olive oil, salt, pepper
- Purple sprouting broccoli
- Frozen peas
Get a large baking dish, and pre-heat the oven to about gas mark 5.
Lay the chicken in the baking dish. Cut sausages into 3 pieces, and throw them into the tray. Chop chorizo into fingernail sized chunks, throw them on. Peel and chop the squash, carrots and parsnips into decent-sized chunks – about half the size of your thumb (too small and they’ll disintegrate). Throw it all on. Ditto olives and pickled chillis.
Juice the oranges and pour it over everything, drizzle olive oil over it all (not too much as the meat will produce its own fat).
Finely chop garlic, some orange zest and pour it over. Add some salt, and black pepper and lots of sage and thyme. Wuffle it around with a wooden spoon to make sure everything is oiled and seasoned. If you like tang, put pickled chillis on the top. Don’t chop them; that way, they’re easily identifiable and can be removed for people who like the flavour they impart but don’t want to eat chunks of palate-scouring chilli.
Put it in the oven. Open bottle of wine to let it breathe. Drink a glass of it to test it. 25 mins later, turn everything over in the dish and put it back.
About 1 hour after you turned the oven on, put the kettle on and boil some water. While it’s boiling, put peas and broccoli in a microwavable bowl, add 2 tbsp of water, cover and nuke for 5 mins.
Serve everything. Use juices left in pan, veg water, a glug of wine and water from kettle plus a Knorr Chicken Stock Pot to make gravy. Eat it all.
Total cost, excluding wine, about £15 for 4 people.
After convincing my Member of Parliament, John Hemming, of the folly of Cameron’s plan to censor the web in the UK (sorry, I mean filter the web), he’s been doing some digging with the ISPs, writing to them to ask whether they plan to store your opt-ins privately on your router, or centrally.
He’s published the answers to his emails to BT, Sky and Virgin. BT were evasive, and TalkTalk didn’t formally respond, but it’s pretty clear they’ll store them in a centralised database. What could possibly go wrong with the government having access to a list of all those who want to see porn or “extremist” sites? It’s not like we live in a surveillance society, is it?
John and I would like to publish a fuller list. If you are a customer of an ISP that’s not on the list, please email them and ask them if they plan to store your opt-ins on a centralised database, what categories they intend to filter (eg, porn, extremism, alcohol, drugs) and how they will categorise them (eg, who will decide whether BNP/ EDL sites are “extremist”?) and paste it into a comment below. Please include the date and time the reply was sent, and who signed it (so we can double-check before publishing on John’s blog).
Apologies for the irregularity of the Reading List at the moment; September and October are autumn conference season and my schedule is bonkers.
A meeting at Mozilla Paris on how to solve Responsive Images, organised and summarised by Marcos Caceres concluded
- Browser vendors agree that srcset + DPR-switching is the right initial step forward (i.e., the 2x, 3x, etc. syntax).
- Agreement to then consider srcset + viewport size after some implementation experience (possibly drop height syntax from srcset spec). If not implemented, Width/Height syntax to possibly be marked at risk in srcset spec.
- Browser makers acknowledge the art-direction use case, but still think <picture> is not the right solution.
- Adding new HTTP headers to the platform, as Client-Hints proposes to do, has had negative impact in the past – so Client Hints might need to be reworked at bit before it becomes more acceptable to browser verndors.
So initially, we’ll use something like
<img src="normal.png" srcset="retina.png 2x" alt="otter vomiting">
Browsers that have “retina” displays will choose retina.png as they have 2 CSS pixels to one physical pixel. Browsers that aren’t retina, or don’t understand the new syntax, fall back to the good old
WebKit and Blink have implemented (but not yet shipped)
srcset, Mozilla is planning implemention now.
Meanwhile, an alternative “srcN” proposal has been put forward by Tab Atkins and John Mellor (excitingly, “John Mellor” was the real name of The Clash’s Joe Strummer). It claims to solve Resolution-based discrimination, Art-direction discrimination and Viewport-based discrimination usecases. Discussion here.
UK Government Web
The Cabinet Office’s Open Standards Board is recommending open standards technology. The first two to be approved are HTTP/1.1 and Unicode UTF-8. Francis Maude, the Minister, allegedly said “open standards will give us interoperable software, information and data in government and will reduce costs by encouraging competition, avoiding lock-in to suppliers or products and providing more efficient services”.
This may not be revelatory to those of us in the web world, but it’s a Good Thing for the nation.
I had the pleasure of hearing Paul Arnett (now of Twitter, previously of gov.uk) talking about the gov.uk initiative at From The Front conference a few days ago, and thought it was a sign of schizophrenia that the same government that can allow subject experts make a world-leading governmental portal is the same government that disregards experts and its own consultation in wanting to censor the web.
I realise now that it’s the old Tory DNA: the belief in encouraging competition by economic liberalism, reducing bureaucracy, while remaining socially authoritarian and reeling from one moral panic to the other. So no change there.
- Media Capture in mobile browsers
- Service Workers: Navigation Controllers, Minus Navigations, Plus New Shiny – goodbye Crappcache, au revoir Navigation Controllers, hello Service Workers!
- Responsive elements – a tiny JS library that “makes it possible for any element to adapt and respond to the area they occupy”
- Designing for iOS7: Perils & Pluses by Luke Wroblewski
- Embed Responsively – paste in a YouTube/ Vimeo/ etc URL, and get some cut-n-paste code that makes your embeds responsive
- Node school – “Install these choose-your-own-adventure style lessons and learn how to use node.js”