Shared posts

28 Aug 06:30

We Don't Like Outsiders

by Richard Millington

Be very careful about being the outsider.

It's almost impossible to build a community from a group of people if you're not one of them.

It's harder to tell a group of people what to do if you're the outsider. 

They don't know you. They don't trust you. 

The CHIP process is designed to overcome this for new communities. You become one of the group before you try to build a community among that group. 

If you're taking over an existing community, take a LOT of time to get to know a large number of members before imposing your will. 

Be one of the group before you lead the group. 

On October 29th to 30th, the world's top 250 community professionals are going to SPRINT in San Francisco. Will you be one of them?

28 Aug 03:47

The Technology Behind Hyperlapse

by Federico Viticci

Very early on in the development process of Hyperlapse, we decided that we wanted an interactive slider for selecting the level of time lapse. We wanted to provide instant feedback that encouraged experimentation and felt effortless, even when complex calculations were being performed under the hood.

This is a technical, but highly fascinating look at the technology Instagram used in Hyperlapse. Not as advanced as Microsoft's research, but impressive for a mobile device.

∞ Read this on MacStories

27 Aug 17:00

The Technology behind Hyperlapse from Instagram

Yesterday we released Hyperlapse from Instagram—a new app that lets you capture and share moving time lapse videos. Time lapse photography is a technique in which frames are played back at a much faster rate than that at which they’re captured. This allows you to experience a sunset in 15 seconds or see fog roll over hills like a stream of water flowing over rocks. Time lapses are mesmerizing to watch because they reveal patterns and motions in our daily lives that are otherwise invisible.

Hyperlapses are a special kind of time lapse where the camera is also moving. Capturing hyperlapses has traditionally been a laborious process that involves meticulous planning, a variety of camera mounts and professional video editing software. With Hyperlapse, our goal was to simplify this process. We landed on a single record button and a post-capture screen where you select the playback rate. To achieve fluid camera motion we incorporated a video stabilization algorithm called Cinema (which is already used in Video on Instagram) into Hyperlapse.

In this post, we’ll describe our stabilization algorithm and the engineering challenges that we encountered while trying to distill the complex process of moving time lapse photography into a simple and interactive user interface.

Cinema Stabilization

Video stabilization is instrumental in capturing beautiful fluid videos. In the movie industry, this is achieved by having the camera operator wear a harness that separates the motion of the camera from the motion of the operator’s body. Since we can’t expect Instagrammers to wear a body harness to capture the world’s moments, we instead developed Cinema, which uses the phone’s built-in gyroscope to measure and remove unwanted hand shake.

The diagram below shows the pipeline of the Cinema stabilization algorithm. We feed gyroscope samples and frames into the stabilizer and obtain a new set of camera orientations as output. These camera orientations correspond to a smooth “synthetic” camera motion with all the unwanted kinks and bumps removed.

These orientations are then fed into our video filtering pipeline shown below. Each input frame is then changed by the IGStabilizationFilter according to the desired synthetic camera orientation.

The video below shows how the Cinema algorithm changes the frames to counteract camera shake. The region inside the white outline is the visible area in the output video. Notice that the edges of the warped frames never cross the white outline. That’s because our stabilization algorithm computes the smoothest camera motion possible while also ensuring that a frame is never changed such that regions outside the frame become visible in the final video. Notice also that this means that we need to crop or zoom in in order to have a buffer around the visible area. This buffer allows us to move the frame to counteract handshake without introducing empty regions into the output video. More on this later.

The orientations are computed offline, while the stabilization filter is applied on the fly at 30 fps during video playback. We incorporated the filtering pipeline, called FilterKit, from Instagram, where we use it for all photo and video processing. FilterKit is built on top of OpenGL and is optimized for real-time performance. Most notably, FilterKit is the engine that drives our recently launched creative tools.

Hyperlapse Stabilization

In Hyperlapse, you can drag a slider to select the time lapse level after you’ve recorded a video. A time lapse level of 6x corresponds to picking every 6th frame in the input video and playing those frames back at 30 fps. The result is a video that is 6 times faster than the original.

We modified the Cinema algorithm to compute orientations only for the frames we keep. This means that the empty region constraint is only enforced for those frames. As a result, we are able to output a smooth camera motion even when the unstabilized input video becomes increasingly shaky at higher time lapse amounts. See the video below for an illustration.

Adaptive Zoom

As previously noted we need to zoom in to give ourselves room to counteract handshake without introducing empty regions into the output video (i.e. regions outside the input frame for which there is no pixel data). All digital video stabilization algorithms trade resolution for stability. However, Cinema picks the zoom intelligently based on the amount of shake in the recorded video. See the videos below for an illustration.

The video on the left has only a small amount of handshake because it was captured while standing still. In this case, we only zoom in slightly because we do not need a lot of room to counteract the small amount of camera shake. The video on the right was captured while walking. As a result, the camera is a lot more shaky. We zoom in more to give ourselves enough room to smooth out even the larger bumps. Since zooming in reduces the field of view, there is a tradeoff between effective resolution and the smoothness of the camera motion. Our adaptive zoom algorithm is fine-tuned to minimize camera shake while maximizing the effective resolution on a per-video basis. Since motion, such as a slow pan, becomes more rapid at higher time lapse levels (i.e. 12x), we compute the optimal zoom at each speedup factor.

Putting It All Together

“The first 90 percent of the code accounts for the first 90 percent of the development time. The remaining 10 percent of the code accounts for the other 90 percent of the development time.” –Tom Cargill, Bell Labs

Very early on in the development process of Hyperlapse, we decided that we wanted an interactive slider for selecting the level of time lapse. We wanted to provide instant feedback that encouraged experimentation and felt effortless, even when complex calculations were being performed under the hood. Every time you move the slider, we perform the following operations:

  1. We request frames from the decoder at the new playback rate
  2. We simultaneously kick off the Cinema stabilizer on a background thread to compute a new optimal zoom and a new set of orientations for the new zoom and time lapse amount.
  3. We continue to play the video while we wait for new stabilization data to come in. We use the orientations we computed at the previous time lapse amount along with spherical interpolation to output orientations for the frames we’re going to display.
  4. Once the new orientations come in from the stabilizer, we atomically swap them out with the old set of orientations.

We perform the above steps every time you scrub the slider without interrupting video playback or stalling the UI. The end result is an app that feels light and responsive. We can’t wait to see the creativity that Hyperlapse unlocks for our community now that you can capture a hyperlapse with the tap of a button.

By Alex Karpenko

27 Aug 19:53

A better runtime for component-based web applications

by Dries

I have an idea but currently don't have the time or resources to work on it. So I'm sharing the idea here, hoping we can at least discuss it, and maybe someone will even feel inspired to take it on.

The idea is based on two predictions. First, I'm convinced that the future of web sites or web applications is component-based platforms (e.g. Drupal modules, WordPress plugins, etc). Second, I believe that the best way to deploy and use web sites or web applications is through a SaaS hosting environment (e.g., DrupalGardens, SalesForce's platform, DemandWare's SaaS platform, etc). Specifically, I believe that in the big picture on-premise software is a "transitional state". It may take another 15 years, but on-premise software will become the exception rather than the standard. Combined, these two predictions present a future where we have component-based platforms running in SaaS environments.

To get the idea, imagine a, SquareSpace, Wix or DrupalGardens where you can install every module/plugin available, including your own custom modules/plugins, instead of being limited to those modules/plugins manually approved by their vendors. This is a big deal because one of the biggest challenges with running web sites or web applications is that almost every user wants to extend or customize the application beyond what is provided out of the box.

Web applications have to be (1) manageable, (2) extensible, (3) customizable and (4) robust. The problem is that we don't have a programming language or an execution runtime that is able to meet all four of these requirements in the context of building and running dynamic component-based applications.

Neither PHP, JavaScript, Ruby, Go or Java allow us to build truly robust applications as the runtimes don't provide proper resource isolation. Often all the components (i.e. Drupal modules, WordPress plugins) run in the same memory space. In the Java world you have Enterprise Java Beans or OSGi which add some level of isolation and management, but it still doesn't provide full component-level isolation or component-level fault containment. As a result, it is required that one component pretty much trusts the other components installed on the system. This means that usually one malfunctioning component can corrupt the other component's data or functional logic, or that one component can harm the performance of the entire platform. In other words, you have to review, certify and test components before installing them on your platform. As a result, most SaaS vendors won't let you install untrusted or custom components.

What we really need here is an execution runtime that allows you to install untrusted components and guarantee application robustness at the same time. Such technology would be a total game-changer as we could build unlimited customizable SaaS platforms that leverage the power of community innovation. You'd be able to install any Drupal module on DrupalGardens, any plugin on or custom code on Squarespace or Wix. It would fundamentally disrupt the entire industry and would help us achieve the assembled web dream.

I've been giving this some thought, and what I think we need is the ability to handle each HTTP request in a micro-kernel-like environment where each software component (i.e. Drupal module, WordPress plugin) runs in its own isolated process or environment and communicates with the other components through a form of inter-process communication (i.e. think remote procedure calls or web service calls). It is a lot harder to implement than it sounds as the inter-process communication could add huge overhead (e.g. we might need fast or clever ways to safely share data between isolated components without having to copy or transfer a lot of data around). Alternatively, virtualization technology like Docker might help us move in this direction as well. Their goal of a lightweight container is a step towards micro-services but it is likely to have more communication overhead. In both scenarios, Drupal would look a lot like a collection of micro web services (Drupal 10 anyone?).

Once we have such a runtime, we can implement and enforce governance and security policies for each component (e.g. limit its memory usage, limit its I/O, security permission, but also control access to the underlying platform like the database). We'd have real component-based isolation along with platform-level governance: (1) manageable, (2) extensible, (3) customizable and (4) robust.

Food for thought and discussion?

27 Aug 14:24

24 Rules for Becoming an Adult Prodigy

by djcoyle

growing-trees-hiChild prodigies get a lot of attention because they seem magical. But do you know who’s even more impressive?

Adult prodigies.

I’m talking about people in their thirties, forties, and beyond — people who are miles past any of the “learning windows” for talent, and who yet succeed in building fantastically high-performing skill sets.

People like Dr. Mary Hobson, who took up Russian at 56, and became a prize-winning translator. Or Gary Marcus, a neuroscientist who took up guitar at the age of 38 and taught himself to rock, or pool player Michael Reddick, or Dan McLaughlin, a 31-year-old who took up golf for the first time four years ago and now plays to an outstanding 3.3 handicap (and who also keeps track of his practice hours — 4,530 and counting, if you wanted to know).

We tend to explain adult prodigies with the same magical thinking as we use to explain child prodigies: they’re special. They always possessed hidden talents.  

However, some new science is shedding light on the real reasons adults are able to successfully learn new skills, and exploding some myths in the process.  You should check out this article from New Scientist if you want to go deeper. Or read Marcus’s book Guitar Zero, or How We Learn, by Benedict Carey (out next week).

The takeaway to all this is that adult prodigies succeed because they’re able to work past two fundamental barriers: 1) the wall of belief that they can’t do it; and 2) the grid of adult routines that keep them from spending time working intensively to improve skills. In other words, it’s not so much about your “natural talents,” as it is about your mindset and your habits. From the New Scientist piece:

“A child’s sole occupation is learning to speak and move around,” says Ed Cooke, a cognitive scientist who has won many memory contests. “If an adult had that kind of time to spend on attentive learning, I’d be very disappointed if they didn’t do a good job.”

With all that in mind, I thought I’d try to fill in a gap by offering a few basic rules on how to apply these ideas to regular life.


Rule 1. Pick a skill you were always fascinated by — one that you’ve already spent lots of time thinking about and admiring. Because all those hours is not just a sign of motivation; it’s also your head start to high-quality practice. You’ve already built some good circuitry, so use it.

Rule 2. Don’t pick something completely insane. Trying to become the next Steve Jobs or Peyton Manning probably doesn’t make sense for most adults. Focus on ambitious, reachable skills that make sense for you, and will add to your life.

Rule 3. Write down a big-picture plan. It doesn’t need to be too elaborate; it needs to contain some targets and strategies. Most important: figure out a daily routine, see if it’s working, then adapt it as you go along.

Rule 4: Don’t be so freaking conscientious about your plan. One of the traits that makes kids such good learners is their inherent looseness in approach; that is,  they don’t get hung up on doing everything 100-percent perfectly every single time. They do the opposite: they try bits and pieces, and if something doesn’t work, they try something else. They’re experimenters, innovators, entrepreneurs of the brain. Do likewise.

Rule 5. Keep it quiet early on. The quickest way to kill motivation is to tell Facebook that you’re developing a new talent — because that creates high expectations, which are the ultimate motivational buzzkill.

Rule 6. Be secretly and irrationally arrogant. Fear is what keeps people from learning new things, and getting rid of that fear however you choose is a good idea. So be cocky, gutsy, and willing to go to the edges of your ability even if (especially if) that means you sometimes look a little foolish. In other words, channel your inner Kobe Bryant.

Rule 6. Practice every day, in short bursts.

Rule 7: Long bursts too.

Rule 8: Also, medium bursts. Dream all you want, but frequent, intensive, high-quality practice is the path forward.

Rule 8: Interleave your practice, which is a fancy word for switching it up a lot. For example, if you want to improve your toss on your tennis serve, don’t just toss 50 balls in a row. Instead, toss 5 while focusing on one element of the move. Then do something else for 5 minutes. Then come back to the toss — this time focusing on a different element. Then go do something else, and so on. Interleaving forces your brain to make connections, and learn faster.

Rule 9: Find the best teacher you can afford. One of the advantages of being an adult is that, unlike a kid, you can choose your own  teacher. This is not a small thing. Find someone you like, and who maybe scares you a little (that is often a good sign).

Rule 10: Seek a training group. No matter what skill you’re trying to build, you are more motivated when you are part of a tribe working toward a goal.

Rule 11: Every once in a while, ignore your training group and stay home. The downside of training with people is that you tend to overlook problem areas that you really need to fix — and some things can only be solved alone.

Rule 12. Set aside a space to practice. This doesn’t need to be fancy — in fact, the less fancy the better. But it needs to exist and be convenient, and preferably located in your home, because you’ll use it more often.

Rule 13.  Get good tools. If you’re learning guitar, get a quality one. If you’re doing something on a computer, don’t buy one from Radio Shack.

Rule 14: Keep your tools handy, not stored away in some closet. When they’re around, you tend to pick them up more often.

Rule 15. Be opportunistic. Use the little quiet spots in your day to work in some spontaneous practice. A good five minutes can have a huge impact.

Rule 16. Keep a notebook, and track what works and what doesn’t. The notebook is your map: it keeps track of the stuff you forget, the goals you want to track, and (most crucially) the progress you make.

Rule 17. Steal from other people. Even if you’ve picked a wildly obscure talent to develop, there are thousands of other people out there who are doing exactly the same thing as you are, right now. They’re solving the same problems, finding possible solutions. Seek them out (on YouTube, for starters) and go to school on them.

Rule 18. Teach someone else. You might think you know how to perform a skill. But trying to accurately, concisely explain how that skill works to someone else? That’s a deeper level of understanding entirely.

Rule 19. Keep expectations moderately low.

Rule 20: Keep hopes moderately high.

Rule 21.  In your self talk, use “You” and not “I.” Research shows that self-talk is significantly more effective when you use the second person.

Rule 22. Practice early in the day. This is when your brain is fresh, and when you’ll make the most progress. Not coincidentally, this is also when there are the fewest interruptions.

Rule 23. Seek to become a world-class napper. This is a skill you likely already possess — and improving it can ratchet up your learning speed.

Rule 24. Plan on showing off, once you get good enough. Even the patron saint of adult prodigies, the painter Grandma Moses, wasn’t discovered until she got brave and started selling her artwork in local galleries. There’s nothing like an upcoming event or performance to direct your work and create a sense of energy. And besides, you earned it.

Two last questions: 1) Are there any stories/ideas you want to share about adult learning? 2) What other rules belong on this list? I’d love to hear what you have to say.


27 Aug 23:28

By 1905 A Third Of American Households Possessed A Camera

by A Photo Editor

Professional photographers were repelled by the weird, ungainly, often out-of-focus shots that amateurs produced. “Photography as a fad is well nigh on its last legs,” prayed the art photographer Alfred Stieglitz. Other pundits bemoaned “Kodak fiends,” camera obsessives who carried their device everywhere and were apparently so constantly taking pictures that they would space out and miss their trains.

via The Invention of the “Snapshot” Changed the Way We Viewed the World | Smithsonian.

27 Aug 18:19

The Future Programming Manifesto

by Jonathan Edwards

It’s time to reformulate the principles guiding my work.

[Revised definition of complexity in response to misunderstandings]

Inessential complexity is the root of all evil

Most of the problems of software arise because it is too complicated for humans to handle. We believe that much of this complexity is unnecessary and indeed self-inflicted. We seek to radically simplify software and programming.

Complexity is the total learning curve

We should measure complexity as the cumulative cognitive effort to learn a technology from novice all the way to expert. One simple surrogate measure is the size of the documentation. This approach conflicts with the common tendency to consider only the efficiency of experts. Expert efficiency is hopelessly confounded by training and selection biases, and often justifies making it harder to become an expert. We are skeptical of “expressive power” and “terseness”, which are often code words for making things more mathematical and abstract. Abstraction is a two-edged sword.

Our institutions, culture, and psychology all foster complexity

  • Maintaining compatibility increases complexity.
  • Technical debt increases complexity.
  • Most R&D is incremental: it adds features and tools and layers. Simplification requires that we throw things away.
  • Computer Science rejects simplification as a result because it is subjective.
  • The Curse of Knowledge: experts are blind to the complexity they have laboriously mastered.
  • Rewarding programmers for their ability to handle complexity selects for those who love it.
  • Our gold-rush economy encourages greed and haste.

To make progress we must rebel against these vested interests and bad habits. There will be strong resistance.

Think outside the box

Much complexity arises from how we have partitioned software into boxes: OS, PL, DB, UI, networking; and likewise how we have partitioned software development: edit, version, build, test, deploy. We should go back to the beginning and rethink everything in order to unify and simplify. To do this we must unlearn to program, a very hard thing to do.

Programming for the people

Revolutions start in the slums. Most new software platforms were initially dismissed by the experts as toys. We should work for end-users disenfranchised by lack of programming expertise. We should concentrate on their modest but ubiquitous needs rather than the high-end specialized problems addressed by most R&D. We should take inspiration from end-user tools like spreadsheets and Hypercard. We should avoid the trap of designing for ourselves. We believe that in the long run expert programmers also stand to greatly benefit from radical simplification, but to get there we must start small.

Simplicity first; performance last

Performance is often the first excuse for rejecting new ideas. We even do it to ourselves. We must break our own habit of designing for performance: it is seductively objective and quantifiable whereas the most important design issues are messily subjective and qualitative. After all, performance optimization is one thing we have mastered. Build compelling simplicity and performance will come.

Disciplined design evaluation

Computer Science has decided that, being a Science, it must rigorously evaluate results with empirical experiments or mathematical proofs. We are not doing Science. We are doing Design: using experience and judgement to make complex tradeoffs in order to satisfy qualitative human needs. Yet we still need a disciplined way to evaluate progress. Perhaps we can learn from the methodologies of other fields like Architecture and Industrial Design. This is a meta-problem we must address.

27 Aug 14:30

Programming with Managed Time

by Jonathan Edwards

Final version of the paper is up, and an essay with embedded videos is here. Sean graciously invited me to coauthor but the ideas are really his – I just helped spin them.

We think there is great promise in abstracting away from the computer model of time. There is a large design space that is still largely unexplored. I will be presenting my own new approach for the first time in public at the FPW workshop at Strange Loop. We are hoping to excite other researchers to take up this challenge and develop their own approaches. Come talk with us at SPLASH or drop us a line.

27 Aug 22:54

Arbutus Corridor: The Middle-Ground Option

by pricetags

In all the attention to the dispute between the City and the CPR, so far only Peter Ladner has been one of the few to highlight a study done not that long ago which may, as his recent Business in Vancouver column says, be a “Middle-of-road way to right Arbutus corridor right-of-way ruckus”.

Amazingly, there is a middle-ground plan that has been all but forgotten. In 2005, CP hired the highly respected outgoing sustainability director of the city, Mark Holland, and pledged to live with whatever he and a group of blue-chip planners, sustainability experts and neighbours came up with. The city, then as now, refused to participate. (At the time – I was on council – the city was rightfully preoccupied with the Olympic Village and Canada Line.)

Holland remembers that it was the community partners, representing every neighbourhood association along the route, who came up with the idea of combining the city’s low-value adjacent roads and rights-of-way with CP’s low-value transportation corridor to create a high-value, vibrant, mixed-use plan.

“Our plan had a two-way rail line, a bike lane, community gardens, linear parks, an aboriginal interpretive centre in Marpole and 12 development nodes with three-storey mixed residential and retail,” Holland recalled. “The net value in 2005, after costing out public amenities [excludingrail service], was between $200 million and $300 million. Every community association signed off on it.”

At the time, CP wanted $150 million. Now they’re said to be asking $100 million.

The plan still exists.

Yes it does.  And it’s downloadable from this site:

Arbutus Lands

27 Aug 00:00

Unimaginative naysaying in tech discussions

It’s the early days of man, a chilly day, and Alice and Bob are attempting to start a fire by rubbing sticks together. It’s a struggle, on account of some freezing rain earlier in the day that’s left the sticks damp. Suddenly, there is a brilliant flash of light, and a mysterious portal opens up next to Alice and Bob. A Stranger steps through carrying a blowtorch.

The Stranger explains he is from the Future and has come to speed along Alice and Bob’s technological evolution. He demonstrates use of the blowtorch and has a roaring fire going within a minute or two. He explains how the torch works by burning a substance called butane.

Bob’s immediate response: “Look Stranger, I don’t know who you are, but I don’t like your elitist tone, and I’m going to keep starting my fires by rubbing sticks together. If I start using your so-called ‘blowtorch’, it’s going to be a real problem finding ‘butane’ fuel for it.”

New technologies can be vast improvements along one axis (starting fires efficiently), while simultaneously generating new fun problems to solve along another axis (obtaining butane). Being optimistic and willing to solve these fun problems is how progress is made. Unimaginative naysaying like Bob focuses entirely on perceived negatives of new technology, taking the current state of the world as a given.

Time and time again in discussions of technology, I see unimaginative naysaying:

  • “You know, isn’t it kind of archaic that we’re storing programs as text files and running compilers in batch mode like it’s still the punch card era? I think we could do better than that.” Response: “Text is KING. I’m not giving up Vim / Eclipse, and plus look at all the great tooling, like Git, that can be written in a language agnostic way! Plus, Smalltalk tried this, like 20 years ago, and it never took off.”
  • “You know, if we don’t have rampant side effects, it’s easier to compose programs by sticking together smaller pieces. That seems like a good idea.” Response: “But I need fast, mutable data structures in like 2% of my code, therefore this justifies sprinkling side effects willy nilly throughout! Be pragmatic! The Real World™ has mutation!!! Also, databases.”
  • “Static typing seems to help me catch mistakes while I’m writing the program. That seems useful, we should do more of that.” Response: “Oh gawd, you sound like one of those brainwashed J2EE developers. Sorry, I’m not writing ArrayList<String> myList = new ArrayList<String>();. Dynamic typing, DHH, and Agile FTW!!1!”

Developing new technology means being open to seeing potential, and working to achieve it. Don’t be that guy!

And in closing:

The person who says it cannot be done should not interrupt the person doing it.

– Chinese Proverb

By the way, I will not be at all surprised when some commenter shows up to pick apart my analogy or one of my ha ha only serious examples.

27 Aug 21:07

27 Aug 21:56

What I did on my San Francisco vacation

by pricetags

I drank coffee.

Directed by a friendly barista to the “best coffee in SF,” we found ourselves a few blocks South of Market on 7th – not a neighbourhood I would have explored a few years ago – to what looked like an old stable, tucked between a tech firm in a garage and a nightclub in distress. 

This is Sightglass on 7th – map here.





The coffee: expensive, smooth and specialized.  Think Revolver in Gastown. 

Sightglass (2)


The scene: so San Francisco c. 2014. 

If the clientele, having arrived on foot or bike, is not engaged with a small screen, they are talking about what happens (or could happen) on small screens



Beyond the barista bar, the coffee is piled up in bags and bins, being roasted and ground, packaged and labelled, treated as though it were fine wine, which in a way is what it is. 




27 Aug 20:43

What Is a Card?

by Federico Viticci

Khoi Vinh has a great introduction to software cards for presentation and rich content:

Even as the notion of cards as the next big software interaction paradigm continues to gain momentum, it hasn’t gotten much easier to explain to the uninitiated what, exactly, a card is. When asked this question, I find it hard not to ramble on at great length, and even harder to avoid using technical jargon, which usually produces diminishing returns in conversations with “normal people.”

Make sure to check out his Pinterest board for screenshots of card UIs and see what they actually look like.

While I don't rely on many card-based apps or web services, I do believe that Twitter cards are largely underrated and ignored by people who use third-party Twitter clients, which can't display cards.

In my limited experience, setting up a MailChimp card for our MacStories Weekly newsletter doubled our number of subscribers thanks to its design and ease of use. With Twitter Cards, the link I shared appeared as a card inside Twitter timelines with an interactive signup form to subscribe with one click.

That's a powerful idea, potentially applicable to hundreds of web services and publishers that are sharing content on Twitter. I'm definitely planning to explore cards more for MacStories.

∞ Read this on MacStories

27 Aug 20:04

Quote: Simply Astonishing

by pricetags

Michael Den Tandt: “Harper cements northern legacy despite glaring policy omissions”

… the words climate change were not uttered a single time over the span of six days, by the prime minister or any of his ministers, that I am aware of. At this late juncture, with the Arctic so central to their plans, that is simply astonishing.

- The Vancouver Sun – 27 Aug 2014

27 Aug 10:14

How fast will WebRTC go mainstream? And will it be "beyond the browser"?

by Dean Bubley
I've come across two interesting things this morning:

1) Snapchat apparently now has 100m monthly users and is valued at $10bn
2) I heard an ad for a free conference calling service on the radio

Oh, and thirdly, I saw a TV ad for Amazon Kindle the other day, featuring its Mayday live-help service.

Common theme? WebRTC, but not in generic "video calls in your browser" style, nor for greenfield "standalone" communications, but to add a feature to an existing product.

Mobile-messaging "OTT" player SnapChat acquired platform provider AddLive earlier this year, which it now uses as the basis for its integral video-chat service. While Snapchat's main service is "ephemeral messages" which disappear after viewing, it also now allows existing contacts to chat in realtime, while the camera button is held down. It's not used by everyone, but is interesting in that it's "WebRTC as a feature" and also in that it's not a traditional "person A calls person B for X minutes" model. And of course, SnapChat runs as a native app on smartphones, NOT as a site accessed via the browser.

Amazon Mayday has long been discussed as a clever and expertly-integrated use of WebRTC video/screen-sharing for customer service and support. It is overlaid on an existing SIP-based voice contact centre platform. It does one-way video only, so again not a "call". And it's launched with a dedicated button, not as a browser/website action on the Kindle Fire.

And then (owned by Iotum), which has an established audioconferencing bridge service using ordinary circuit dial-in. It's offering WebRTC (via the browser) but in audio-only mode at present. Again, it's putting WebRTC into an existing service platform and business model.

Now it's true to say that all of these services are leading in their respective fields. Not all of their competitors or peers have gone down the same path yet. But nevertheless, they demonstrate that WebRTC:

1) Is indeed commercially-viable, and in the "real world"
2) Is not just browser-based, but also in mobile apps
3) Is not just about "calls"
4) Is not just about video
5) Works on iOS irrespective of Apple's support in Safari
6) Has a device-support level well above the 1bn level and an active user-base that will likely be >10m people by the end of the year
7) Spans both consumer and enterprise domains (and telecoms if you include, Tuenti & Skyway)

If I compare this to the situation a year ago, the change is staggering. It's very easy to miss the overall change in tone and relevance, when you're close to the coalface. Yet these examples - including run-of-the-mill radio and TV ads, and articles in mainstream business publications - are an indicator of what is to come.

Those of you that have read this blog for a while will know that it's quite rare for me to be more enthusiastic than "the market" about a technology. Normally I'm the one criticising hype and deluded expectation. Yet I'd still say that WebRTC is an unusual example of something that is underhyped. It feels quite strange for me to be an advocate rather than a cynic.

I'm putting the final touches to my new report, which forecasts WebRTC trends out over the next 3-5 years. It is due out next week. If you email me & confirm a pre-order, I'll offer a discount before launch if you mention this blog post. Details from information AT disruptive-analysis DOT com
27 Aug 19:27

Two Nexus smartphones could be released in 2014

by Evan Selleck
The Nexus X, or Nexus S, or Nexus 6 depending on the week, has been rumored for quite some time, and the reports swirling around its supposed spec sheet or other assorted features are not calming down as we inch closer to an expected launch later this year. Now, a new report suggests we should have more to look forward than originally thought. Continue reading →
27 Aug 18:34

Kobo announces new waterproof Aura H20 ereader for $179

by Jane McEntegart

Kobo last night hosted an end of summer pool party promising guests a peek at what’s to come for the Kobo brand. Sure enough, the company unveiled its newest piece of hardware, an ereader that can survive a dunk in the bath or even a dive into a swimming pool. The unveiling of the device came as no surprise, considering rumors of an IP67-rated Kobo first broke cover last month. Still, it was nice to get a look at in the flesh.


Dubbed the Aura H20, the device is based on the Aura ereader and packs a 265 dpi 6.8-inch E Ink display, a 1 GHz processor, 4 GB of onboard storage (expandable to 32 GB) and a battery that lasts two months. Most importantly, the Aura H20 is waterproof for up to 30 minutes in one meter of water thanks to an IP67 certification. It’s also dust resistant so you can take it to the beach.

We got a chance to take the waterproofing for a test drive last night. One thing we noticed was the pop-up that the Aura H20 throws up once the reader enters water. When the device detects water on the display, it displays a notification that prompts the user to dry the Aura H20. Pretty much every Kobo we saw last night was constantly displaying this pop up because the devices were always in water. Hitting “OK” sometimes dismissed the message, but other times, the device refused to go back to reading mode until it was wiped down.

The Kobo Aura H20 boasts 24 font sizes and 10 different fonts. You can also customize your reading experience by adjusting font sharpness and weight setting. Kobo says the Auro H20 is slightly thinner and lighter than the Aura HD, though it retains that angled backing we saw with the Aura HD. The H20 will be available in black only when it launches on October 1, and retail pricing is set at $179.99 CAD.

27 Aug 18:09

Waffle on Social Media

Community Services:

The reason I don’t like social media is that it takes two things that are polar opposites and duct tapes them together. Your own utility – to save links, to write text, to move files or materials, to keep notes, to communicate with yourself in the future, to communicate with some other specific people – and the social media outlet’s desire to fulfill its own objectives first.

I’ve heard blogs classified as a type of social media. Maybe that’s true, and maybe not — I don’t care.

What I do care about is that my blog isn’t part of a system where its usefulness is just a hook to get me to use it. It works the way I want to, and the company running the servers (DreamHost) doesn’t care one fig what I do.

My blog’s older than Twitter and Facebook, and it will outlive them. It has seen Flickr explode and then fade. It’s seen Google Wave and Google Reader come and go, and it’ll still be here as Google Plus fades. When Medium and Tumblr are gone, my blog will be here.

The things that will last on the internet are not owned. Plain old websites, blogs, RSS, irc, email.

27 Aug 18:02

As Others See Us: Vancouver through the eyes of West Australia

by pricetags

Kent Acott, a reporter from the West Australian, a newspaper based in Perth, was in Vancouver earlier this month to take an in-depth look at our transportation system – an issue also of keen interest in WA (West Australia).  

Here are excerpts from his coverage:


Cars come last in transport planning

About 50 years ago, two cities on opposite sides of the world faced the similar threat of a growing, car-dependent population.

Their responses could not have been more different.

Perth built roads.

Vancouver did not. …

“Saying no to the freeways in the late 1960s and early 1970s was very likely the most important decision earlier generations of Vancouver leaders ever made,” former Vancouver chief planner and urban design consultant Brent Toderian said.

“It set our city on the path of counterintuitive city-building.

“Since then we’ve built a huge amount of housing downtown, mixed-use and more compact communities and a much more walkable, public transport-friendly and increasingly bikeable city.

“It made our city more liveable, green, healthy and economically successful. Luckily, earlier generations rejected freeway thinking and our city owes them a huge debt of gratitude.” .


Car gridlock forced city to blaze transport trail

Sun Fang is considered “the godfather” of the SkyTrain, having worked on the system since its early trials in 1982.

Mr Fang, who is retiring this year, said the system was a world-first and groundbreaking.

“This system was so unique we had nothing to compare it with,” Mr Fang said. “We were at the cutting edge then and we are at the cutting edge now.

“SkyTrain has proved to be one of the cheapest and most reliable transport systems in the world.

“We still get visitors from transport authorities around the globe wanting to see SkyTrain as a fully automated, driverless and unattended transport system.”

Fred Cummings, president and general manager of SkyTrain’s governing body BCRTC, said 258 railcars operated across the 68km of the system’s three lines – including one between the city and the airport.

“There is no doubt that we are one of the best performing and efficient public transport networks in the world,” Mr Cummings said.

“There are not many other networks that can claim to recoup the full cost of maintenance and operations through fares.”


Vancouver in cycle of support

Former city councillor and bike-riding advocate Gordon Price said both initiatives (Burrard Bridge and separated bike lanes) had prompted opposition from motorists and local businesses who were concerned at the loss of parking spaces outside their shops.

But, in both cases, the concerns have proved unfounded.

“A follow-up study has shown that traffic times are virtually the same, cycle trips are way up, collisions have dropped 18 per cent and businesses have suffered very little,” Mr Price said.

Similar concerns have also been expressed by motorists and businesses in Perth.

As recently as last month, scuffles broke out at a City of Vincent council meeting amid concerns that a new bike plan would lead to fewer carparking bays in Oxford Street.

“What these businesses don’t realise is that pedestrians and bike riders are more likely to stop and spend money,” Mr Price said. “And if you can create an environment that encourages pedestrians and bike riders to spend some time in a particular area, the economic benefits are even greater.”


Pricing and choice are keys to traffic success

WA’s Economic Regulation Authority, in its landmark report into microeconomic reform, recommended that motorists be charged to enter Perth’s CBD during peak hours.

It said the State Government should investigate better use of existing infrastructure, including “demand management tools” such as congestion pricing before considering costly new infrastructure spending.

The ERA said congestion in Perth had been caused in part by “underpricing of road use”, costing the community $1.6 billion a year of increased travel times, pollution costs and extra fuel costs. TransLink strategic planning and policy director Tamim Raad said a new funding stream would allow the city to work towards an important objective of the Vancouver vision – to create compact urban areas where walking, cycling and public transport were convenient transport options.

And Mr Raad, who lived and worked in Perth during the 1990s, said fewer cars, less driving and more walking, cycling and public transport would generate many other benefits.

These would include saving about $500 a year on transport costs, reducing congestion by 10 per cent and cutting daily commute times by between 20 and 30 minutes.

“At the moment about 50 per cent of the population live within 400m of a public transport service that has a frequency of less than 15 minutes, operates for 15 hours a day and for seven days a week,” he said.

“We want to increase that figure significantly.

“But our emphasis is to get more people walking and riding their bikes.

“This is the area where we can make the greatest progress at the lowest net cost.”

27 Aug 17:03

The New Point Grey Road – 27: Build It …

by pricetags

Ohrn Images:

   . . . they really do come.  

The new Point Grey Road is a great example of advanced cycling infrastructure that forms part of a network.  It continues to attract all sorts of people on bicycles.  In fact, my personal indices of infrastructure success are in plain view there, and the number of “index events” is climbing on PGR and all over town.  

First index:   all ages and abilities riding on bikes.  Families with little kids.


Ohrn NPR - 2


Second index:  intersection events where people on bikes have to adjust their path, or give way, or wait for someone also going through the intersection.   Check out the traffic at the intersection of PGR and Stephens.   This shows bicycle traffic.  Bicycles. Waiting for the light to change.

 Ohrn NPR 3


But the nonsense continues: Spinning opinion? Vancouver installs live counters at bike paths – CTV Vancouver News


VanCity Buzz does an item on bike stats: Cycling Numbers On the Rise in Vancouver

This year, the Burrard Bridge bike lane marks its fifth year in use, seeing more than 5 million trips since its installation. This summer, the Burrard Bridge bike lane has seen record bike traffic month over month, with July hitting a record number 195,000 bike trips up from 161,000 in July 2013 – a 21 per cent increase. …

The bike network saw improvements made over the summer, with safety improvements at the south end of Burrard Bridge and a new intersection layout at Burrard and Cornwall, in addition to the extension of the bike route out to Point Grey Road. Following construction and improvements, weekday numbers jumped to 1,500 bike trips daily average in June 2014 – a 150 per cent increase compared to the averages prior to the construction of the Seaside Greenway bike route to Point Grey Road. The average weekday number of cyclist trips was 600 in August 2012.

Downtown, Hornby Street also hit a record, with 71,000 cycling trips compared to the previous record of 68,000 trips in 2011. In July 2014, the Dunsmuir Street and Viaduct bike lanes saw the second highest months on record:

  • ·         Dunsmuir Street: 65,000
  • ·         Dunsmuir Viaduct: 66,000


Here are the stats to date from the City’s website:


27 Aug 16:27

20 requirements for a great coffee shop for home office workers

by Alex

Read the original post at 20 requirements for a great coffee shop for home office workers.

Carberry's Café in Cambridge, MA (now closed)What are the ingredients for the perfect working café?

I’ve been thinking about this question because I’m heading into a period when I expect to spend a lot of time working in coffee shops.  I’ve spent a lot of my career, including my most productive periods, working in coffee shops, largely because they offer the perfect balance of solitude and simulation. I don’t work well in totally silent environments —  the inside of my brain is way noisier than any café, so the background noise of a coffee shop helps to drown that out. But unlike an office, where you know the people around you (and may therefore get interrupted by them) a coffee shop offers the benefit of background noise without the interruptions.

That said, not every coffee shop is created equal when it comes to getting your work done. My first long-term coffee shop relationship was with the now-defunct Carberry’s in Cambridge, Massachusetts, where I did the lion’s share of my grad school reading and note-taking. At the time I was obsessed with Tony Buzan’s method for mind-mapping, which involved using lots of markers to turn all my reading notes into colorful trees. Since I was constantly switching colors, I left the markers uncapped on the table, so by the time I got to class my left forearm was a veritable rainbow. But at Carberry’s (unlike in my seminars) even my graffiti-ed forearm was unremarkable, because there were so many other even more colorful characters — not least of which was the man steadily filling journal after journal with tiny handwriting and meticulous drawings that (as he explained it to me) were being dictated to him by God.

In the twenty years since then, my criteria for coffee shop heaven have evolved. From the safe remove of two decades, I will confess that a major contributor to my Carberry’s loyalty was the super hot barista I used to flirt with; now I am old and married enough that flirting with young hot baristas would just feel creepy. The advent of wifi pushed connectivity to the top of the list for a long while; now, iPhone tethering and the near-ubiquity of Shaw Go Wifi (wifi service provided by our ISP, free to subscribers, and available almost everywhere in Vancouver) make that much less crucial. In my twenties, I could sit on just about any chair for hours at a stretch; in my forties, I need padded seats if I want to last more than an hour without Advil. Once upon a time, I’d park at any café with butter-filled baked goods…these days, I look for places with healthier options.

But my longtime neighborhood standby — the Take 5 on West 4th — is now closed, so I’m looking for a new office-away-from home. And as with any tech project, this has to begin with a good requirements definition. So here is my first stab at a set of requirements for a great working café in 2014:


      1. Strong, fast and reliable wifi (free in-house or via Shaw Go)
      2. Power outlets in a few different spots
      3. Location close to home (12 block radius is ideal)
      4. OK smell (we had to give up on a favorite spot because they were constantly mopping the floor with an overpowering cleaning product)
      5. Comfortable chairs with padded seats
      6. Clean
      7. Decent coffee
      8. Bar-style counter seating at a height that allows me to switch to working standing up
      9. No horrible Muzak
      10. Kindly manages disruptive customers (Take 5 unfortunately had a regular visitor who conducted loud shouting matches with an invisible interlocutor; ideally cafés find a way of respectfully addressing these kinds of disruptions — as well as those from overly loud cell phone users — without being unwelcoming)
      11. Clean bathrooms
      12. Quiet enough to make phone calls, but not so quiet that it’s obnoxious to make phone calls


    1. Nearby free/cheap parking
    2. Wheat-free lunch options (salads, soups, sandwiches on something other than wheat bread) so that I can spend enough on food to avoid being a coffee shop parasite
    3. Friendly baristas
    4. Actually good coffee
    5. Non-table seating options (sofas, easy chairs)
    6. Good music (otherwise I’ll just listen to my own)
    7. Some pleasant (but not intrusive) regulars — Rob and I actually exchanged a few business referrals with a lovely Mac tech we got to know through one of our former haunts
    8. Keyless bathrooms (seriously, is there anything grosser than a bathroom key?)

Of course, I recognize that not every coffee shop wants to attract people who might stay for hours at a time — which is why this list works not only as a set of requirements for me, but as a tip sheet for coffee shop managers who want to repel the likes of me. For these folks, omitting at least 3 of the must-haves should do the job of not only avoiding me, but others like me.

What’s missing from this list? What do you look for in a working coffee shop? And most crucially, what can you recommend as a working coffee shop in Kitsilano, Vancouver? I’d love to hear from you.

Read more about better living with social media by visiting Love your life online

27 Aug 16:18

CP suspends track work (aka ripping out gardens) while talks on with city

by Frances Bula

This just out from city hall this morning:

Track work suspended for talks between City and CP Rail


Senior officials at the City of Vancouver and CP Rail have agreed to meet to discuss the future of the Arbutus Corridor.


While the two sides meet, CP Rail has agreed to suspend all track maintenance work along the Arbutus Corridor for the next two to three weeks

27 Aug 14:10

If iPad Was A Company, It Would Be Bigger Than Facebook, Twitter, Yahoo, Groupon and Tesla, combined

Mossberg counters the conventional wisdom about tablet explosive growth petering out with two charts:

Walt Mossberg, In Defense of Tablets

When I first reviewed the iPad, I wrote that, to succeed, “It will have to prove that it really can replace the laptop or netbook for enough common tasks, enough of the time, to make it a viable alternative.”

For me, and for many, many others, the tablet passes this bar. And the results in the marketplace have been impressive, especially considering that the iPad was introduced only four years ago. Since then, Apple has sold 225 million of them, despite its famous premium pricing. And total tablet sales are, by some estimates, approaching half a billion units.

According to respected venture capitalist and analyst Mary Meeker, in her annual Internet trends report presented at our Code Conference in May, tablet sales have exploded in a way that PC sales — including sales of cheap netbooks — never did.

Tablet Sales Have Grown Faster Than PCs Ever Did

Mary Meeker, Kleiner Perkins — Tablet Sales Have Grown Faster Than PCs Ever Did

What’s more, Meeker said, tablets have lots of growth ahead of them.

To get a sense of how big the iPad alone has become in just four years, check out this chartby It shows that, in Apple’s last fiscal quarter — a quarter in which iPad sales declined — the tablet (not all of Apple) still brought in nearly $6 billion in revenue, an amount exceeding the quarterly revenues of Facebook, Twitter, Yahoo, Groupon and Tesla combined.

iPad Sales Remain Large
So the next time someone tells you that tablets are done, remind them of the relative size of the iPad market.
27 Aug 12:39

Life with the Narrative Clip. An interview with Mike Merrill

by Sarah

How long have you been using your Narrative Clip?
I started using my Clip on May 3rd.

How often do you use your Clip and in what settings?
I wear it everyday (unless I forgot to charge it)!

Please explain your decision behind getting a Narrative Clip?
As a publicly traded person ( I allow my shareholders to help me make the right choices in life. The proposal received 78% approval! That’s pretty overwhelming.

Describe what is it about the Narrative Clip that you like best?
I like when I forget I’m wearing it and it captures some element of my day that really speaks to what I was doing. Because I post a subset of the images to the web, I’m looking for images that give context to how I spent my day, who I was with, and where I went. The Clip often gives me the perfect selection.

How do you wear/use the camera?
I usually clip it to the center of my shirt or to my collar.





What’s the most surprising and/or interesting photo you’ve gotten so far?
The most surprising and interesting are obviously ones I can’t share. ;)

Do you have any stories around how people react to the Clip?
A lot of people ask what it is and I’ve explained it a few ways. I wear a few activity trackers and I really think of it as a similar product. I use it to see how I performed on any given day.

What is best moment you’ve captured with the Narrative Clip and why?
At my 40th themed birthday party I didn’t bother taking pictures. I just wore the clip and it did a really great job. It took photos that I have no memory of.

14230296771_8789e363b5_o 14233336374_1b0e930a92_o 14233587275_e2b4f2ee9e_o 14231309492_53ee97f73c_o 14046940338_72522fb7ea_o 14253760873_cc55c01e77_o

Check out Mike’s flickr account for all the day’s action caught by the Clip.

What’s a specific use case for your Narrative Clip that you’re looking forward to trying out?
I’ve tried it on my dog and I like to stick it on the dash when driving. Placing the camera where it stays in the same place and catches a lot of action is really fun because it’s so small and unobtrusive.

What’s a feature(s) you’d really like to see added to the Narrative service in the future?
I keep losing it! :( Please help me with that!

Anything else you’d like to add or other Clip photos you’d like to share?
Feel free to check out all my pics.

27 Aug 00:33

Twitter Favorites: [knguyen] A Momentary Hyperlapse of Reason

Kevin Nguyen @knguyen
A Momentary Hyperlapse of Reason
26 Aug 20:53

Twitter Favorites: [jordynmarcellus] A start-up that tracks down misogynerds and slaps them across the face with a rotting fish carcass.

Jordyn Marcellus @jordynmarcellus
A start-up that tracks down misogynerds and slaps them across the face with a rotting fish carcass.
26 Aug 20:45

Twitter Favorites: [nacin] Every time I’m asked about Uber, I say it’s a great service but an evil, contemptible company. Every day, I am further validated.

Andrew Nacin @nacin
Every time I’m asked about Uber, I say it’s a great service but an evil, contemptible company. Every day, I am further validated.
26 Aug 06:35

Twitter Favorites: [helesialuke] My blog: an essay on decade of school reform in BC. For some, it will be an unpleasant walk down memory lane. #bced

Helesia Luke @helesialuke
My blog: an essay on decade of school reform in BC. For some, it will be an unpleasant walk down memory lane. #bced
25 Aug 17:49

Twitter Favorites: [nicoleslaw] @krystynheide I guess I despise the lie that these startups are changing the world by including others in their so-called experiments.

Nicole Fenton @nicoleslaw
@krystynheide I guess I despise the lie that these startups are changing the world by including others in their so-called experiments.
27 Aug 03:43

9 Reasons Urban Cycling Makes You an Overall Hardcore Person

by tammy

9 Reasons Urban Cycling Makes You an Overall Hardcore Person

By Claire McFarlane, Illustration by Ian Sullivan Cant

When I first moved to Toronto, my dear sister (an already city-savvy cyclist) gave me her old bike, a helmet and a lock and a few words of wisdom about cycling in Toronto. Advice such as, “Always cross streetcar tracks at a 90 degree angle to avoid getting stuck in them,” have come in extremely handy since. Now, almost a year later, I am more in love than ever with cycling and rely on my bike as my primary form of transportation. Over the past year I’ve realized that cycling has allowed me to evolve into perhaps an overall better, tougher and more hardcore person, and I figure it likely helps others accomplish the same. (Please be advised that the following reasons cycling helps you become an overall hardcore person are solely the representation of my personal opinions and may not reflect the views of all or other cyclists.)

  1.  You are the epitome of efficiency. You have the power to combine your workout and your commute while enjoying an amazing urban adventure.
  2.  You develop a kind of courage that you might not normally have, the kind that allows you to yell at asshole drives that park in the bike lane and who don’t leave you enough space on the road. *
  3.  You, on occasion, may wipe out, but you pick yourself up and keep riding; a little road rash isn’t enough to kill your cycling spirit.
  4.  You develop a bit of an ego after the first few times you pass the same fancy car stuck in traffic on your commute.
  5. You are completely independent; you never need to rely on a second party to get where you need to go.
  6.  You have successfully debunked the old tale that being out in the rain causes illness because you have biked through countless downpours and never missed a beat.
  7. You are always on time for everything because almost no amount of traffic or TTC outages can slow you down.
  8. Your pants start to get worn out in the crotch but you can use the 5 minutes (or more) you saved not sitting in traffic to change out of your ‘bike pants’ and into your ‘work pants’.
  9. Your coworkers may make fun of your helmet but you brush it off because you know just how hardcore you really are (and that your hair looks great).

I strongly believe that cycling helped me to not only survive my first year living in the city but helped me to thrive and to thoroughly enjoy the past 12 months.

*Not all motorists who park in the bike lane or who are not willing to share the road are necessarily assholes, they may have a good reason for doing so (but they really shouldn’t be).

Claire McFarlane has been the dandy managing editor for the last six months and is returning to Ryerson’s journalism school in the fall.

Coming Soon: Ryerson journalism student  – and brand new city cyclist – Jenna Campbell will join the dandy team and share with readers her perspective on cycling for the first time in Toronto.

Related on the dandyBLOG:

7 Ways to Save your Lover

End of the Road for Ride For A Dream

City Cyclist: Toronto construction and bad bike lanes

dandyARCHIVE: Heels on Wheels with Councillor Mary-Margaret McMahon

A new Torontonian’s first bike (coming soon)

A new Torontonian’s first bike ride (coming soon)