Category Archives: Ideas

Thoughts about Toronto’s Hwy 401 Traffic Problem

It’s an understatement that Toronto has some insane traffic. I got my latest taste of it this Sunday when I was stuck in traffic on the 401 highway while trying to get from Toronto back to Waterloo after visiting my parents. It amazes me that traffic is bad enough that it is terrible on a Sunday. Below, I go through several observations about why I think traffic is bad and offer a few pointers on how to fix it. I know this problem is far more complex than what I have listed below and involves a wide variety of factors including weather, demographics, psychology  economics, etc. I have simplified and abstracted away a bunch of things in this post so it does not turn into a novel.

8 Lanes each way don’t help

Any time I pick up relatives, who are visiting, from the airport and we merge onto the 401, they always comment on how absolutely massive size of the 401. They are right. It is 8 lanes wide in one direction, which means a total of 16 lanes both ways. That is a huge amount of lanes and I have yet to see it in any other city I have visited, except for Chicago. Despite the many lanes, traffic still slows to a crawl even on weekends. Mississauga, to the west of Toronto, is undertaking construction to go from 4 lanes in one direction to 8 lanes for their stretch of the 401. They are doing this in an attempt to battle congestion. If the rest of the 401 in the Greater Toronto Area is any indication, this is not going to help.

Some parts have a backwards design that needs fixing

By backwards design, I am mainly looking at locations like the eastbound stretch of the 401 starting from the 404 off-ramp to the Kennedy Road. If you get off the 404, onto the 401 and merge all the way into the left-most lane (about 3 lanes over), then about 2 exits later at the Kennedy road exit, your left lane is now the right-most lane. This occurs when you stick to the lane and never change lanes. Basically over the course of 2 exits, the two right lanes have peeled off and exited. At the same time, new lanes on the left hand side are opened up. This is a huge problem. Now, over the span of approximately 3 kilometres, the traffic needs to shift two lanes to the left just to stay on the 401. You know what happens when everyone tries to frantically switch lanes? Chaos, cars braking and traffic jams. It amazes me that no one has even thought of attempting to remedy this situation. It would go a long way to alleviating congestion because eastbound on the 401 at Kennedy Road is always guaranteed to be moving at a crawl whenever there is medium to heavy traffic.

Not Fast Enough Public Transit

The main reason that many people drive in Toronto during rush hour is due to the fact that it is still faster to drive to a location than take public transit there, even if you have to drive through rush hour traffic. Case in point? When I used to do co-op in Toronto, I travelled from my parent’s home in Scarborough to around Dufferin Road and Eglinton Ave. If I took public transit, this commute took about 1.5 hours of time. If I drove in rush hour to the same location, it took 45 minutes. So, public transit is about 2x slower than driving in rush hour transit despite the fact that half of my public transit time is spent on the subway. The fact that public transit is significantly slower than driving means that Toronto’s public transit is simply not fast enough to entice people to ditch their cars and take the bus/train to work. I am confused as to why there are no such things as express trains or buses from the suburbs to downtown or to other suburban centres. Such express routes, especially trains, which don’t have to deal with the same levels of traffic, would make commutes shorter and entice people to ditch their cars.

Not Enough Alternates to the 401

There are practically no alternate routes to the 401 that will take you across Toronto in an east-west direction. There is the QEW and the Gardiner Expressway, but they go through the downtown core and are more jammed than the 401. There is also the 407 ETR, which is not as congested and runs more north of the city. There is only one problem with the 407 ETR: it’s a toll road. The toll rates aren’t even close to reasonable. I have taken many toll routes through the USA and almost all of the rates there have been reasonable, but the 407’s rates are not reasonable at all. Of course that means that not as many people use it and everyone piles onto the 401, which means the 401 has traffic jams. Would making the 407 free help? Maybe. Recently, it seems like even the 407 is getting heavy traffic. The traffic is not heavy enough to cause major slowdowns, but it seems that even if we make it free, it will do little to address the problems of the 401.

A Strong Car Culture

Despite Toronto having a reasonable transit system (even if it is not as fast as I want it to be), I think Toronto still has a very strong car culture. Almost every family I know has at least one vehicle. About a third of my relatives and friends have two or more vehicles sitting on their driveways. If people can afford it, they will buy a car and drive that to places instead of taking the bus. The reason? Most of Toronto’s residents live in the suburbs and things are spaced pretty far apart. Which means it is a pain to get anywhere on public transit unless you live near or on a major road that has frequent bus service. Subway coverage is not as extensive as other cities like London, UK, which means that most of the time, you take the bus to your destination. On most routes, buses take about 15-20 mins to arrive. So naturally, people prefer to drive than take public transit because it is much easier and saves time. Getting people out of this car culture is probably the only way to significantly reduce the congestion of the 401 and other roads in Toronto. The problem? This is a very hard and uphill battle to fight. It is not something that can be overcome in a few months of a year, one would have to do this over several years.

So what’s the solution here? I think it needs to be a combination of faster public transit (including express trains), more alternative routes (like a toll-free 407), and re-doing parts of the 401 so that traffic does not need to shift lanes in order to stay on the 401. These need to be done in parallel with pushing out the strong car culture of Toronto and getting residents to embrace public transit more.

Thoughts on a Facebook search engine

Today, I spent a good chunk of an hour trying to dig through various friend profiles to find this single video that one of my friends made that had a bunch of graduation-related photos. I was on a nostalgia trip and I wanted to dig it up again. However there was one major problem, Facebook’s Timeline layout (at least as of now) is a mess when you are trying to find this one specific photo or video. First, you cannot filter out everything but videos, nor can you filter photos/videos by the people who are tagged in them. This makes looking for this stuff a nightmare and eventually I just gave up. Also, this is not the first time I have had to dig up something old that was buried on my timeline or on some friend’s timeline. Once, I was digging up a post on my timeline, and the best I could do was to scroll down and hope I would eventually find it. I knew who posted it, but I couldn’t remember the date of the post, which made it difficult. I did find it eventually, but it took about 1.5 hours.

This got me thinking. The thing about Facebook’s layout is that it is currently optimized for the most recent items to have the highest visibility. This is evident when you look at the Timeline’s chronological ordering or your News Feed’s chronological ordering. (Note: the News Feed is not strictly in chronological order since it does also sort by how important or popular Facebook’s algorithms determine a post to be. That means an older post with a lot more activity in terms of comments would appear higher than other things. But for the most part, it is safe to assume that it is indeed chronological). For 99% of Facebook’s use cases, this is the optimal way of laying things out. Most of the time, one logs onto Facebook to check the latest updates from their friends, not to go digging through old content.

But there is a problem here. Currently Facebook is relatively young. In a few years, say 4-5 years, people are going to start wanting to look at their old content. Examples include photos, links and status updates. But, Facebook in its current state is incapable of serving those use cases. The best way to go about it would be to take a Google search engine approach. Why not be able to search posts, photos and videos using things like keywords, tagged people, location and date ranges? Of course, one does not need all of Facebook to be searchable. Many users would probably be content with being able to search their own content and perhaps that of their friends. Facebook can implement privacy controls so that people can control what content from their timelines shows up in search results. Of course, like most major features that are added to Facebook, you can bet there will be a huge privacy outcry, which is something that Facebook will have to consider.

I would implement this myself as a side project. However, there is a very real possibility that such a project would be in violation of Facebook’s Terms of Service because I would have to scrape and index content that is not accessible outside the Facebook platform. Not to mention that I would have to deal with the issue of storing the indexed data. Facebook most certainly would not be pleased if I stored it on my own servers, nor would any of my users be please because there are legitimate privacy concerns here. These are problems that will probably take a lot of time and effort to navigate around. Honestly, it is not worth it for a side project. Perhaps I can just implement it to index only my own timeline data? This means that I would have to create a dedicated search website, which would need to be hosted on my own servers. A Facebook app would probably be able to dodge some of these concerns, but I would still be unable to cache indexed data without violating the Terms of Service. I would have to do live queries to Facebook as I am returning search results, which would be slow and bandwidth heavy. The third option, which skirts around this issue though it probably is a legal grey area (see FB Purity case), is to create a Google Chrome extension or Firefox plugin that would store the indexed data on the user’s local machine. This means that there are no queries going to a third party service. Now, the data is being kept on the client machine, which means I would have to encrypt it. Also, performance is bound by the client machine. These are two problems that make implementing something that exists the grey area of Facebook’s Terms of Service, a not worthwhile endeavour.

So the remaining option is to wait for Facebook to do it. Now why wouldn’t they have done it by now? Search engines, crawling and indexing data and extracting useful metadata out of data is a very challenging technical problem to solve and it requires a lot of resources. Google has hundreds of thousands of servers to digest, store and serve the data that powers their search engine. It’s a very expensive system to maintain and would require a lot of developer resources to build. Let’s be honest, this would serve about 10% of the current use cases of Facebook. The cost-benefit trade-off here does not look very appealing. Now mind you, it could be a lot more appealing once it is deployed because people might actually want to use it. But for now, it definitely does not make sense for Facebook to commit enormous resources to such an endeavour.  But, I remain optimistic that they will do it eventually. After all, I’m fairly sure they already have a bunch of the infrastructure and technology necessary, to do the search engine, already powering their business intelligence and advertising systems.