Wednesday, December 30, 2015

German populist, xenophobic, nazi-hidden-behind-proxy-words org PEGIDA sells their "hymn" on Amazon.

German populist, xenophobic, nazi-hidden-behind-proxy-words org PEGIDA sells their "hymn" on Amazon. Amazon puts text on page that they'll donate all profits to organizations helping refugees. Well done.
http://m.spiegel.de/politik/deutschland/a-1070062.html

Monday, December 28, 2015

Duct tape: American door insulation. Maybe I should add a second layer of tape for double the effect.


Duct tape: American door insulation. Maybe I should add a second layer of tape for double the effect.

Wednesday, December 9, 2015

Wednesday, November 18, 2015

Fun fact, about the new G+:

Fun fact, about the new G+:

Opening links should be faster than in the old G+. The amortized win is roughly the cost of a DNS lookup, a TCP handshake, and in the case of a HTTPS a TLS handshake – which could be anywhere between 500ms and many seconds.

Yaihh, https://www.chromestatus.com/feature/5560623895150592

CC Luke Wroblewski
https://www.chromestatus.com/feature/5560623895150592

Thursday, October 15, 2015

"we made a show, it’s a technology talk show set in 1983. And it’s called Computer Show."

"we made a show, it’s a technology talk show set in 1983. And it’s called Computer Show."

http://computer.show/
http://computer.show/

Wednesday, October 14, 2015

Amazing short video of my little family conference JSConf EU.

Amazing short video of my little family conference JSConf EU. Running a conference is stressful at the least and this year I had to balance it with launching ampproject.org which made it even more of a challenge – but when you see such a video it all gets relativized and you're ready to do it again.
https://www.youtube.com/watch?v=VHbnuNng0M8
https://www.youtube.com/watch?v=VHbnuNng0M8

Monday, October 12, 2015

Wednesday, October 7, 2015

A new approach to web performance

A new approach to web performance

I think it is safe to say that most of us are pretty unhappy with load times of content on the mobile web. Click on a link here or wherever and it just takes too long for pages to load and when they finally load, things jump around visually and feel janky.

About 3 months ago Dave Besbris approached me about this problem and was like “Yo, let’s fix this” and I was like “Uhm, cool, I can make things fast.” From that we created the “Accelerated Mobile Pages (AMP) Project”. We deeply believe that the mobile web can be fast – both from our own experience and lots of research of others. It is just that best practices need to be applied more widely – both across the content itself but also in ads and analytics.

Little side anecdote: We use the ⚡ emoji to refer to AMP. This is cute and all, but originally we called the project “CAT” (For Content Authoring Toolkit which was totally not a backronym) and had ­čś╗emojis all over our codebase. I liked my job about 1000% better until we changed to the new name :)

Anyway, we created this thing called AMP HTML: which is HTML with some added restrictions and the promise: If you stay within these restrictions the pages will load reliably fast. We also optimized it for being efficiently prerenderable, so users could get an instant experience when loading pages most of the time.

We’re starting this initiative today with a whole bunch of partners like Twitter, Pinterest and Linkedin and 30 publishers from across the globe. Nothing about the project is set in stone. We are on Github and appreciate all the help we can get to make the mobile web work better for everyone (https://github.com/ampproject/amphtml). The JavaScript in the Github repo is the only JS that will run on AMP HTML pages. This makes it a really exciting project to work on: find an AMP HTML page that loads slowly or janks? You can now fix it yourself with a git commit.

More info how this works technically is at https://www.ampproject.org/how-it-works/
and https://www.ampproject.org has a more business-y explanation of this project if that is your thing.

Also: Google Search build a cool demo of how AMP pages can transform the user experience. Check them out over in their blog post: https://g.co/amp 
https://www.ampproject.org/how-it-works/

Tuesday, October 6, 2015

/me is writing HTML like there is no tomorrow.

Sunday, September 27, 2015

The incredible JSConf​ EU opening performance. If you like JavaScript or music or both check this out!

The incredible JSConf​ EU opening performance. If you like JavaScript or music or both check this out!
https://youtu.be/lJ1kY-CSpBk

Saturday, September 26, 2015

Video of part 1 of the JSConf EU 2015 opening show.

Video of part 1 of the JSConf EU 2015 opening show.

8bit pixel orgasm :)

https://vimeo.com/140427080
https://vimeo.com/140427080

Tuesday, September 1, 2015

They are deploying a new CSS file to the Google campus.


They are deploying a new CSS file to the Google campus.

Tuesday, August 11, 2015

The closest most people will ever get to thinking really hard for a long time how to break out of jail is being on a...

The closest most people will ever get to thinking really hard for a long time how to break out of jail is being on a long haul flight and trying to improvise a device for opening the sim card tray.

I typically use needles from magazines but today they were all glued together :(

Thursday, August 6, 2015

TIL Suits now come with an Apple-style unboxing experience. Also: I apparently bought a pink suit.


TIL Suits now come with an Apple-style unboxing experience. Also: I apparently bought a pink suit.

Wednesday, August 5, 2015

Dear Munich Airport: This is pretty awesome.


Dear Munich Airport: This is pretty awesome.

Tuesday, July 28, 2015

Tuesday, July 14, 2015

Thursday, July 9, 2015

Introducing Incremental DOM

Introducing Incremental DOM

Today we open sourced a little JavaScript library called Incremental DOM. Most of the work was done my by colleague Sepand Parhami (who you should all follow :)

The TL;dr is
- Designed to allow "virtual DOM style" DOM updates with minimal memory allocation per update
- Designed to be usable as a backend by your favorite templating language (As opposed to having a JS API or something like JSX)

https://medium.com/p/e98f79ce2c5f
https://medium.com/p/e98f79ce2c5f

Monday, July 6, 2015

Great follow up to last week's post.

Great follow up to last week's post.
http://nolanlawson.com/2015/07/05/safari-is-the-new-ie-2-revenge-of-the-linkbait/

G+ on phones and tablet and Google Photos on phones, tablets, laptops, desktops, 30" retina iMacs with underpowered...

G+ on phones and tablet and Google Photos on phones, tablets, laptops, desktops, 30" retina iMacs with underpowered GPUs, holograms, hacked up Android watches, that thing from Minority Report and my mom's Windows XP malware runtime from early last decade – how does it work?

Listen (or read I guess since they have a transcript) to Wahbeh Qardaji and me and our hosts Karen McGrane and Ethan Marcotte make it up as we go on this podcast about the responsive design of Google+ :)

http://responsivewebdesign.com/podcast/google-plus.html
http://responsivewebdesign.com/podcast/google-plus.html

Saturday, July 4, 2015

Analysis by Paul Irish of Reddit Mobile's rendering performance

Analysis by Paul Irish of Reddit Mobile's rendering performance
https://github.com/reddit/reddit-mobile/issues/247

The TL;dr is: The "The DOM is slow, virtual DOM is fast" meme is somewhere between misleading and wrong. Doing any kind of extensive work in JavaScript during page load will kill you and JS size is still important.

h/t Luke Wroblewski 
https://github.com/reddit/reddit-mobile/issues/247

Tuesday, June 30, 2015

A few days ago I tweeted "Safari is trying to be the best browser for today's web.

A few days ago I tweeted "Safari is trying to be the best browser for today's web. It has zero intention of being the best browser for the future web." This article is the slightly more ranty version of that sentiment and well worth a read.

What it comes down to in my opinion (e.g. looking at what Apple released in the latest version of Safari that represents a full year of development https://developer.apple.com/library/prerelease/mac/releasenotes/General/WhatsNewInSafari/Articles/Safari_9.html#//apple_ref/doc/uid/TP40014305-CH9-SW27) is that Safari has been for a few years now investing purely into user experience fidelity for what I would call today's web; but it won't be great to satisfy user & developer expectations in the years to come. Safari is arguably the best browser to look at cnn.com. But ignoring platform enhancements for years will eventually put it in a state where is becomes a major drag on the ecosystem. I'm really hoping things will get better. Microsoft has made the turn around and I'm sure Apple could.

http://nolanlawson.com/2015/06/30/safari-is-the-new-ie/

Full disclosure: I work at Google, so I'm totally biased; but I'm also a web developer, so I feel I deserve to be concerned about the platform I develop for.
http://nolanlawson.com/2015/06/30/safari-is-the-new-ie

Monday, June 22, 2015

My conference JSConf EU is offering 60 full scholarships to attendees from underrepresented groups in tech.

My conference JSConf EU is offering 60 full scholarships to attendees from underrepresented groups in tech. Apply today!
A big thank you goes out to our attendees who purchased "diversity support tickets" and are paying for this program. We are also still looking for sponsors who can help out with the travel sponsorships!

http://2015.jsconf.eu/news/2015/06/22/scholarships/
http://2015.jsconf.eu/news/2015/06/22/scholarships

Thursday, May 28, 2015

Hello Internet.

Hello Internet. Some friends and I made a new web page and just uploaded it to our server. It is called photos.google.com I hope you like it.

Monday, May 25, 2015

Love is in the air at JSConf


Love is in the air at JSConf

Wednesday, May 20, 2015

So, I wrote this piece about design docs.

So, I wrote this piece about design docs. It started out as a Medium post and more of an intellectual challenge because I like meta systems, then I pasted it into a Google Doc because Medium is a bad tool for writing design docs, shared it at Google a few weeks ago and now I pasted it back to Medium :)

I hope it is useful beyond the vanity factor.

https://medium.com/@cramforce/design-docs-a-design-doc-a152f4484c6b
https://medium.com/@cramforce/design-docs-a-design-doc-a152f4484c6b

Tuesday, May 5, 2015

Sunday, April 26, 2015

Monday, April 6, 2015

“This is the most visible line in the sand for people: Can.

“This is the most visible line in the sand for people: Can. They. See. My. Dick? So with that in mind, look inside that folder. That is a picture of my dick. So lets go through each NSA program and explain to me its capabilities in regards to that photograph of my penis.”
– John Oliver interviewing Edward Snowden

in what may forever change the conversation about government surveillance. We as humanity can also be happy that the leaker turned out to be as remarkably intelligent as Edward Snowden. Not every interviewee would have been able to go from standard talking points to "Oh, shit, this guy just managed to finally explain what I meant to say all along. I'll just run with it".

https://www.youtube.com/watch?v=XEVlyP4_11M
https://www.youtube.com/watch?v=XEVlyP4_11M

I wrote a thing.

I wrote a thing.
"This is the story about how I became what some people would call a frontend engineer and an exploration into what that even means…"

https://medium.com/@cramforce/anecdotes-about-frontend-and-backend-engineering-e65601a312be
https://medium.com/@cramforce/anecdotes-about-frontend-and-backend-engineering-e65601a312be

Wednesday, April 1, 2015

Everything you never wanted to know about the difference between textContent and innerText properties on DOM...


Everything you never wanted to know about the difference between textContent and innerText properties on DOM elements, wait nodes.

Wednesday, March 18, 2015

Saturday, March 14, 2015

Does anyone know where in the bay area one might be able to buy ingredients for Danish style hot dogs?


Does anyone know where in the bay area one might be able to buy ingredients for Danish style hot dogs?

To make this post slightly more relevant: One of the most disappointing things in the US is that while Ikea sells all the same stuff including hot dogs they don't offer the right condiments. Just American style mustard and ketchup. Such a waste of opportunity.

Saturday, February 28, 2015

Thursday, February 26, 2015

Version 5.0 web frameworks

Version 5.0 web frameworks

When you are reading this on a modern mobile device running Chrome, Firefox or Safari you are seeing G+ as a shiny new web app (And if you are on Desktop and read this post you know how to change your user agent :). While I don't work on the product directly, me and others have spend significant effort making the underlying infrastructure work. I'm extremely happy to see this launch and want to thank the team for pushing this through, so I have something to point at that I'm very proud of :)

Of course, I immediately got lots of questions about the underlying technology – and that is cool, I'd be wondering the same thing. The fact is that in 2015 we have so many great options available – Polymer, Angular, Ember, React, etc. will all enable you do built great products. One may have strong opinions which one is better, but one cannot argue that they aren't great for the particular use case they were designed for.

This is awesome.

On the other hand, there have been lots of discussions lately around the theme of "the DOM being slow", etc. While it can always be better, I think most of the discussion misses the point of what the real underlying problem is:

We still don't know how to make good software and if the platform doesn't particularly help everything falls apart even quicker.

But do we actually not know? Many of us building web apps have done it wrong so many times now that I would argue we have sufficient experience to finally get it right: scaling software development in the context of the web platform.

The key issues that we addressed when building out the platform underlying this launch is:

Engineers will eventually write too much code, because that is what they do. Period. How can we make sure that we only ever load the subset that we actually need, like, right now?

Related to the above, but subtly different: Given that the application is going to be big, how do we figure out what subset of it is actually, you know, still used. Sounds easy, I dare you to look at your CSS files and tell me for each line whether it actually matches anything in your app. (See Shubhie Panicker's excellent talk how we address the CSS issue https://www.youtube.com/watch?v=_MD1WQclOJM)

We know the DOM is slow. How can we make sure that we hit the best case and not regress as dozens of engineers want to animate different parts of the page at the same time. https://plus.google.com/+MalteUbl/posts/ifuDKtfCrGL explains parts of the strategy. This has worked wonders for us already. More than 1 style recalc per animation frame is almost extinct.

And finally: Isolation of complexity. Web components in part address this topic and they greatly enhance your ability to reason about side effects in the DOM. But the DOM is only part of your application. We tried to bring web component like isolation to the other parts of the stack as well: data (fetching), JS dependencies (think require), testing. This being a large topic, I'll leave more details to another post.

In summary: Yes, the platform has its quirks, but it is possible to manage the issues – and many problems are mis-attributed to general problems in software engineering and should be addressed as such.

I called this post the "version 5.0" web framework, because we basically reached a stage where almost every framework available to us is great and mature and, more importantly, we have significant experience actually using them. The next generation of frameworks will need to apply what we learned and focus on scaling the human part of the software equation.

Sunday, February 1, 2015

Retiring the awesome Burton Super Model X for a more Tahoe friendly Burton Barracuda (shorter and softer).


Retiring the awesome Burton Super Model X for a more Tahoe friendly Burton Barracuda (shorter and softer). Now where is the snow?

Wednesday, January 28, 2015

Dear lazy plus: Does anyone know a way or an app to turn off the headset button on a Nexus 5 with Lollipop?

Sunday, January 25, 2015

Time to give your favorite friend at IBM a hug.

Time to give your favorite friend at IBM a hug. Apparently they are planning to layoff 110,000 people doubling their own record for worst layoff in history :(
I never had much confidence in them doing zero-leverage-effect consulting and services business at their scale.
http://www.itworld.com/article/2875112/ibm-is-about-to-get-hit-with-a-massive-reorg-and-layoffs.html

Wednesday, January 21, 2015

The decision whether to server and/or client side your web app goes is a complex tradeoff that deeply influences the...

The decision whether to server and/or client side your web app goes is a complex tradeoff that deeply influences the complexity of your app. As proud author of a framework for server side rendering web apps I argue that the vast majority of software written should not use it.
https://medium.com/@cramforce/tradeoffs-in-server-side-and-client-side-rendering-14dad8d4ff8b
https://medium.com/@cramforce/tradeoffs-in-server-side-and-client-side-rendering-14dad8d4ff8b

Monday, January 12, 2015

If you had to install an App to shop in the real world:

If you had to install an App to shop in the real world:
Sure, you can come to our store, but you first need to accept this consent form and then wait in the hallway while we initialize the store for you. Oh, and thanks for access to your address book.

From the article:
"In an analysis of 46 million page views from mobile devices on Skava’s clients’ mobile Web sites and apps, including Gap, Staples, Macy’s and Toys “R” Us, the company found that the mobile Web accounted for 97 percent of retail sales from mobile devices on Black Friday while apps accounted for just 3 percent."

http://www.mobilecommercedaily.com/mobile-web-is-retails-big-winner-and-loser-during-thanksgiving-weekend
http://www.mobilecommercedaily.com/mobile-web-is-retails-big-winner-and-loser-during-thanksgiving-weekend

Friday, January 9, 2015

/me is now a permanent resident of the US of A.

Seriously considering to move back to my hometown when they finally built this.

Seriously considering to move back to my hometown when they finally built this.
http://www.vox.com/2015/1/9/7520805/hamburg-highway

Current status: Bravely executing on my often repeated statement: "No, I have never seen The Internship, but yes,...

Current status: Bravely executing on my often repeated statement: "No, I have never seen The Internship, but yes, I'd watch it if it ever shows up I the entertainment system on a long haul flight and there really is nothing better to do.".