- At the start of 2011, the average smartphone added 2.5 new apps per month. (source)
- In contrast, the average iOS user iOS downloaded about 5 apps every month. (source)
- Estimates show that this number (5 apps per month) seems to still hold up in 2013 on both iOS and Android. (source)
- Considering over two million apps have been published to mobile app stores to date, being one of those five downloads a month is increasingly hard. (source)
June 2013
What exactly did Google Reader provide that got its users, myself included, so excited, and why do we take its extermination so personally?
Nerd-tasticness via colleague Chase Davis.
Via JSWeekly #134, this is a pretty good tour of the thinking involved in refactoring jQuery/JS.
Refactoring is fun! …Things that I try to do as typical refactorings are:
- Put things in variables if you reference them often.
- Remove temporary variables, or variables that are only used once (some exceptions to this).
- Don’t be afraid to make more functions. The best functions are small functions.
- Don’t be afraid to add a bit more structure at the expense of line count (which is very rarely a good measure of code).
- Have some tests to back up if your refactoring is going well and hasn’t broken functionality.
- Take lots of small steps. Move very slowly, and resist the urge to immediately refactor everything at once. Be methodical.
There is a new grammar that is being created in the world of data visualization, which needs to be balanced in the context of journalism’s responsibility to inform the public and help them make decisions. That doesn’t mean we have to resort to only simple forms and large chunks of explainer text, but it does mean we have to be sensitive to folding teaching into our work, and provide clear guidance to the reader; we have to be creative and look for new formulas to do that.
The need to explain a design may seem at first counterintuitive. After all, truly good design shouldn’t require a separate explanation. But if we want to create visualizations with more depth and complexity, we also need to heighten public awareness of the techniques we use because the payoff to the deeper understanding of the world is worth it.
Love that Ms. Nessa’s survey goes back into design/display academic works, in her critiques. I can’t speak highly enough about the Ware book.
Great stuff in here about large JS app memory management.
The Gmail team was facing a serious problem. Anecdotes of Gmail tabs consuming multiple gigabytes of memory on resource-constrained laptops and desktops were being heard increasingly frequently, often with a conclusion of bringing the entire browser down. Stories of CPUs being pinned at 100%, unresponsive apps, and Chrome sad tabs (“He’s dead, Jim.”). The team was at a loss as to how to even begin diagnosing the problem, let alone fix it. They had no idea how widespread the problem was and the available tools didn’t scale up to large applications. The team joined forces with the Chrome teams, and together they developed new techniques to triage memory problems, improved existing tools, and enabled the collection of memory data from the field.
Via HTML5Weekly #92. There’s a video of the team’s Google I/O 2013 talk on the same subject, too:
Via
a look under the hood of Google’s new image search magic: http://t.co/6p6PjwvSFf - neural networks ftw!
— Ilya Grigorik (@igrigorik)
Next Summer Olympics, maybe?
As summarized by A List Apart’s blog:
Google has started decreasing the ranking of sites with misconfigured mobile content redirects and errors. Highly recommended for any developer who cares about site rankings in Google (i.e. all of them).
Researchers work to develop passwords so secret that only your unconscious mind knows them.
From @andismith, via the always awesome @paul Irish.
(I like to think of Paul as “Ferris Bueller”-Cameron’s little brother.)
In this article I’m going to teach you how to load some JavaScript in the browser and execute it.
No, wait, come back! I know it sounds mundane and simple, but remember, this is happening in the browser where the theoretically simple becomes a legacy-driven quirk-hole. Knowing these quirks lets you pick the fastest, least disruptive way to load scripts.
…
[S]cript loaders have a performance problem of their own, you have to wait for the library’s JavaScript to download and parse before any of scripts it manages can begin downloading. Also, how are we going to load the script loader? How are we going to load the script that tells the script loader what to load? Who watches the Watchmen? Why am I naked? These are all difficult questions.
Basically, if you have to download an extra script file before even thinking about downloading other scripts, you’ve lost the performance battle right there.
Via HTML5Weekly #92.
Also, hit cmd+ to enlarged the text on the blogpost! Nice readability mode. Very thoughtful.