Oakland deserves better

I’ve been living in SF for several years now. Muni and BART get me everywhere I need to go, and it’s been reliable enough that I don’t even have to consider other modes of transportation. No matter where I go or what time or day of the week it is, I’ve got a good idea of several ways to get there, and I’m generally not worried about making connections or waiting for a long time (except, perhaps, between 1 and 5 AM). This provides me with a certain peace of mind and feeling of freedom—the city is fully available to me at the low price of $94 per month, and I never feel stranded anywhere.

I suppose this has spoiled me to an extent. I’ve been spending a good deal of time in the East Bay recently, and have been taking AC Transit around. Most of the time, it works well for me, but my use case is probably very different from most actual residents of Oakland. I usually take AC Transit buses to get from BART stations to some location and back. BART stations are usually served by many bus lines, and the sheer number of options can paper over the problems with frequency and ease of making transfers. On the occasions I have taken AC Transit buses between areas of Oakland not served by BART, I’ve had a vastly different experience.

What makes this all the more frustrating is that Oakland is a city with a lot of great neighborhoods and interesting places to go. It deserves a bus network that lives up to this.

Oakland can support high all-purpose ridership

One of the main determinants of the quality of the bus network is density. When you have more people in an area, you can have more riders. These areas are also more likely to have commercial districts or other amenities that attract people from outside of the neighborhood. Oakland nominally has a density of 7,514 people per square mile, but this is too reductive. Here’s a map of population density by census block group from the 2016 American Community Survey:


The reason Oakland has such low density when taken as a whole is that it includes a lot of more or less suburban space. The hills drag down this aggregate population density quite a bit. On the other hand, East Oakland has many areas with over 20,000 people per square mile, which puts it on par with lots of neighborhoods in SF which have much better transit. There’s even quite a bit of space in the dense area taken up by freeways and interchanges. If the I-980 spur is taken down, Downtown Oakland will likely densify as well.

If we look at Oakland without all the hilly bits and industrial area around the port, it has around 15,128 people per square mile.

Over 300,000 people in about 20 square miles.

What’s surprising about this is that even though East Oakland contributes a lot to this density figure, the people who live there don’t seem to take a lot of buses, and rely heavily on cars. This should be our first sign that something is up and AC Transit isn’t providing a great service.

This slideshow requires JavaScript.

In most of the census blocks in East Oakland, people driving alone make up the majority of commuters, where bus riders end up in the single digits. Neighborhoods like Temescal have a much lower share of drivers, owing to some combination of better bus service and easy access to BART. Residents of downtown almost certainly take BART to work if they commute into SF, or walk if they stay in Oakland. BART is an important part of the transportation situation in downtown and northern Oakland, but the odd alignment and station spacing in East Oakland wastes a lot of its catchment area there. This means good bus service is all the more important unless BART is planning to fill in the gaps. (No serious proposal for East Oakland infill stations is in the works at the moment.)

So what’s the problem with Oakland bus service, then? There are plenty of high-ridership, frequent lines in the system. AC transit trunk lines can run at pretty high frequency. Line 1 runs at 10 minute frequency or better for most of the day. The 72, 72M and 72R put together achieve headways as low as 6-7 minutes if you’re at a stop served all three. But high frequencies among commute-focused routes during commute hours don’t make a good bus network by themselves. We have to consider lots of other things if we want people to use the bus network to get around in their daily lives—ability to make transfers, ease of understanding the network, frequency at non-peak hours and on weekends, and so on.

Understanding AC Transit’s decision framework

A lot of transit agencies divide their customers into two camps, the “choice” and “captive” groups of riders. Agencies that use this distinction are unlikely to improve service in areas where car ownership is comparatively low, because those areas are said to have a higher number of “captive” riders which will take transit no matter how poor the service is. “Choice” riders, by contrast, have other means of getting around and will only take transit when it’s more convenient or better for them. Plenty of articles and reports have been written about why this split is wrong-headed, such as this one. The short version is that this mode of thinking completely denies that incremental improvements in speed or frequency can have significant effects on ridership, and this leads agencies to send their money towards other “features” such as Wi-Fi which few riders actually care about.

I don’t think this is the framework AC Transit is operating under, because they tend to serve areas with lower car ownership better. Despite being denser and having more riders that might be considered “choice”, East Oakland does not see the same level of service as downtown and the north. San Pablo, Telegraph, Broadway, and College are all served well by AC Transit. Not all of this can be attributed to pressure from the university, either, though it surely supplies many regular riders.


I think the issue is more that AC Transit sees itself as a provider of transportation for commuting, and its responsibility largely ends there. Because the dense area of Oakland is fairly long and skinny, this means that a commute network can still provide service to a lot of the city. At the same time, it can’t serve most people for all-purpose trips which may not end downtown. This is apparent when we see the lack of frequent crosstown lines.

There are essentially two buses that function as frequent crosstown lines: the 57, which runs from 5am to midnight every day at 15 minute frequency, and the 80/81, which combined give a reasonably frequent crosstown line on Ashby, as long as it’s not a weekend or nighttime. The next major crosstown line is the 51B on University Ave in Berkeley. It’s over a mile from downtown to 40th St and around a mile and a half to Ashby from there, so a lot of people in between end up underserved. Frequent crosstown lines in East Oakland are basically nonexistent. The 20/21 combine to provide decent frequency on Fruitvale Ave until the 21 stops running at 10pm, and that’s about all there is. This poses a problem because BART stays close to the water, as does the frequent 1 for a good portion of its route. A lot of people between the water and MacArthur Blvd are left with few options outside of the weird buses that have complicated routes, mostly exist to take you to BART, and run at low frequencies outside of weekday commute hours.

This means that the bus network doesn’t function that well as a whole—as a way of getting people between arbitrary places. If you’re at San Pablo and Stanford, getting downtown is pretty easy. If instead you’re trying to get to 51st and Telegraph, your journey will probably take longer than you would expect. This ability to move well in one dimension but not in the other is often a problem even in good transit systems; my friends in Manhattan often tell me that they’d rather travel dozens of streets than, say, four avenues. In San Francisco, it is still generally easiest to get downtown from somewhere, but there are many more frequent crosstown lines, which makes this less of an issue.

If Oakland had frequent crosstown lines at a reasonable spacing, you could take advantage of the power of fast transfers and the grid to get anywhere quickly and reliably.

Complicated lines, weird service hours, downright bad maps

Instead, we get bus routes like the 14.

This is a bus which cuts right through some of Oakland’s densest areas near Lake Merritt. Car ownership rates in these neighborhoods are comparatively low. The bus has one terminus downtown and a BART station at the other, so it’s well-anchored. But it meanders around in between so the actual route is difficult to remember. If you don’t live or work in its immediate service area, I wouldn’t expect you to know where it goes. The line makes a U shape and the “middle” is anchored by the Laurel commercial district on MacArthur, but it doesn’t spend enough time on MacArthur to really serve that corridor, or any other. At best, this is emblematic of the direct service example from the Human Transit post about transfers I linked above. This bus also runs at 30 minute frequencies after 8pm on weekdays and at all times on weekends, and there’s no service after 10pm.

The 14 has about 3,000 weekday boardings. This is lower than the number of boardings on Muni’s 18-46th Avenue, despite the latter being one of its system’s most far-flung crosstown routes. It primarily goes through areas of lower density and high car ownership, the overwhelming majority of which is purely residential area. A good deal of its potential catchment area eaten by the Pacific Ocean and Golden Gate Park. It has worse weekday midday frequency than AC Transit’s 14. Why is this?

The 18 is a well-designed route. It is simple and most of it occurs on or close to the street for which it is named, so it’s easy to find and figure out where you can go with it. It runs on the same hours as just about every other bus in the Muni system (5am to midnight, every day) despite having relatively low ridership, serving a lower-density area, and having its ridership mostly concentrated between the AM and PM peak hours[1]. It does not closely duplicate service found on more frequent lines. Most importantly, it connects riders to several very frequent east-west or downtown-oriented routes. This means it is a critical component of the entire network and benefits from good network design as well as good line design. So, the 18 is simple, reliable, and useful.

Frequent transfers available from the 18. All of these are listed on the Muni system map as 10 minute frequency or better.

As we mentioned before, the 14 is complicated. It can’t be easily boiled down to one major street. Its service hours are relatively narrow and it has poor frequency at times when people may still even be using it to commute. In the densest areas of the its route, it is 2 blocks from the 40 and 4 blocks from the 1, both of which are among the most frequent lines in the entire system, and which I would be more likely to take once I knew they had better service.

It’s harder to get information about AC Transit routes compared to Muni routes because of the way the maps and schedules are made. For example, the route map for the 14 can be found here. This map is not very helpful if you are trying to figure out how it can get you around Oakland as a whole, because the map displays very little context outside of the streets themselves. It shows connecting routes, but does not show where they go and instead simply identifies them by number. It also does not distinguish which of the connections are frequent and important routes. Some of the connections listed will never happen in practice, such as with the 800 (owl) routes, which run at disjoint hours with the 14. (Depending on where you are going, such a transfer could happen at around 7am on a Saturday or Sunday morning, but it is impossible at all other times.) I would also argue that it’s easier to remember when Muni routes are around as they have a short name which describes where it goes. AC Transit buses are often described by the route number and every street they use; on the signage they often just display the terminal. I find myself having to check the maps anyway to make sure they go where I’m trying to go.

Some maps will just make your head spin. Try making sense of this route map, which lays out the 40 (one of the most important lines in the system) in an incredibly confusing way.

The system map has similar problems. For Muni, the system map uses progressively darker and bolder lines for more frequent routes, so you can tell how much service an area receives just by looking at the map and don’t have to inspect in too much detail. Express services and other routes that are not usable all day, while few, are marked to appear less important. AC Transit’s system map uses all manner of colors and symbols to draw routes. It does a poor job of teaching general characteristics of the network at a glance. One symbol is used for “all-day service,” but this does not describe a consistent set of service hours, and the map legend tells you to look at the timetables anyway. In addition, Muni lists frequencies for each route on the maps at bus stops. AC Transit prefers to lay things out in terms of schedules. Certainly, at least some of their routes are frequent enough that they could be listed in terms of frequencies as well, but the choice of using timetables makes it difficult for people to decide whether or not using or connecting to a particular route will result in them waiting a while. Transbay buses other than the F, NL, and O only run during commute hours in the commute direction (assuming your job is in SF), so they are not useful for all-purpose transit and so I think they should be kept to a different map to avoid clutter.

All-purpose trips require uses at all hours

Suppose we could wave a wand and fix the network design, such that we have high-frequency crosstown routes at regular intervals. The network as a whole might have higher ridership than it does now, but maybe not by much. The new routes mainly see a lot of riders at commute hours and are underused at other times of the day. AC Transit might consider this experiment to be a loser as it spends a lot of money on what it considers to be overservice, and it would be hard to blame them for that. What’s the whole point of doing this, then?

Well-designed crosstown routes may still mostly be used to get to other bus lines, which will actually take riders somewhere interesting. This will provide them some level of service even after commute hours, and does make the network more useful for everyone. But they are most effective when they are useful in and of themselves—that is, when they are used for other purposes than just getting people to and from their houses. This is part of the reason why a crosstown route like the 24-Divisadero is able to support such high ridership throughout the day. Other than being useful for getting around, it goes directly through mixed use areas of Divisadero and Cortland.

This means some of our network design should be supplemented by zoning changes. We shouldn’t take this too lightly, though; zoning changes without strong renter protections could lead to displacement of the very communities we are trying to serve by improving the transit network.

Oakland has a general plan which guides its decisions around zoning and transportation, among other things. The last general plan was adopted in 1998, and its high-level strategy separated neighborhoods or corridors into two categories: “maintain and enhance” (meaning little change in style or intensity of land use) and “grow and change” (meaning upzoning, mixed-use development, or the like). A map can be found early in this section of the plan. Some major crosstown corridors did fall into the latter category but it’s not clear how much they have affected zoning decisions since. For example, MacArthur Blvd, West Grand, and 14th Ave are all labeled as “grow and change” areas. These are prime corridors for major crosstown bus routes and AC Transit has, to some extent, paid attention: MacArthur is close to the 57, and Grand is served by the NL.

Obviously, high density around the corridor can be a key component of high ridership, but more important is having a mixture of uses along the corridor itself. This opens up the potential base of users for the route from just those who live near it to everyone who’s served by the network, and if that allows us to turn the frequency up on those routes, then the people who live there end up with better service as well. So if MacArthur is the corridor that the city of Oakland wants to “grow and change” in the direction of more mixed use, then one appropriate change might move the 57 to MacArthur from 40th St. Another option could be to zone 40th St for mixed use instead. High frequencies will make sense on these corridors even without big changes to residential density; SF achieves some of its highest ridership numbers on routes which are surrounded by 3-story buildings.

Transfers and fare structure

A few years ago, AC Transit made some significant changes to their fare structure. They creating a day pass, but removed discounted transfers. This was done in the name of speed and preventing “transfer fraud.” While the day pass automatically activates if you board 3 buses in a day and are using a Clipper card, the people who are most likely to be affected by this change are also the least likely to have Clipper cards, so they might be paying double the normal fare if they are using cash. Even with the day pass, there ends up being a slight surcharge for transfers if you take a round trip. This is a problem—if we are trying to reconfigure the network so it uses transfers to make it easier to get around, people should not have to think about taking a transfer. Transfers should always be free.

AC Transit attempted to enforce a number of rules around transfers, namely that they could only be used for a certain amount of time (which is reasonable) and only in “one direction” (which is not reasonable, let alone clear). Fare evasion also captures an outsize amount of attention from transit agencies. If we accept that there will be some level of fare evasion and we actually want to speed up buses, there are better ways to do it. Muni has implemented some of these, such as all-door boarding on all buses at all stops. If Clipper users are allowed to board through the rear doors, then the bus does not have to wait for everyone to file in through the front, which significantly reduces dwell times. AC Transit’s fare structure makes this somewhat more difficult, since it also has a concept of local vs. Transbay fares on Transbay buses. I suppose you could board through the rear if you are paying the full Transbay fare, but if you are taking the bus locally, you could still board in the front to tell the driver. You would also have to pay 25 cents when using a (local bus to local bus) transfer, forcing you to go in the front and stop while you put change into the farebox. If transfers were free and used a proof-of-payment system, then people with paper transfers could still board in the rear. In some sense, it seems like their speed problem was self-inflicted.

Fare evasion is definitely not a big enough deal to justify punishing people who need to transfer, or who don’t have Clipper cards. This fare structure may also inform some of their network design decisions, such as having duplicated and branching service (like the 20/21, 80/81 or 72/72M) to avoid transfers, or why so many lines go well out of their way to terminate at BART or downtown. If AC Transit adopted policies similar to Muni, they would be able to fix several of these problems at once.

Improving the grid

One of the first areas I’d like to explore is how to take the area in inner East Oakland and give it better connections to the rest of the network. We’ve already gone over the 14 and why it’s not a very useful bus. The 62 has a similarly odd route and falls off in frequency after commute hours. The 96 acts sort of like a true grid line, but is never frequent enough to be useful at 30 minute midday headways during the week.

First, I’d like to separate the 40 and the 1 a bit. Their catchment areas overlap almost completely in this area, and since they are both trunk lines this seems to be a wasteful decision. (If we do need this extra capacity in the area, we should run more 1 buses, perhaps with a short-turn during peak hours.) I chose to stick to E 21st St because that seems to give a good middle point between the 1 on International and the 57 up on MacArthur. Also, most buses in this area go around the south side of Lake Merritt; I chose to route around the north side, and use 20th St (for the transit center/BART connection) and Grand downtown.

The 40-E 21st/Foothill.

We can also think about some crosstown lines. First, we should identify important crosstown corridors. In East Oakland, this is probably Lakeshore or 5th Ave, then 14th Ave, 23rd Ave, Fruitvale, 35th, and High St, to start out. North of downtown, we could have 27th, MacArthur/40th, something in the 51st-55th area, perhaps Alcatraz, and then Ashby Ave. To the west, we have Market/Sacramento, then Adeline, then Peralta St or Mandela Pkwy. We might be able to stitch some of these together into a nicer layout.

Generally, I’d like to do the following:

  1. Make a frequent grid, with the spacing between adjacent in the neighborhood of half a mile, or maybe closer together in denser areas.
  2. Avoid moving existing high-ridership corridors, especially ones that get lots of people downtown
  3. Lay out gridlines on mixed-use streets where possible
  4. Keep lines simple; that is, avoid unnecessary detours and try to make lines straight and stick to as few streets as possible
  5. Avoid streets that are too narrow or otherwise adverse for buses (i.e. lots of speed bumps)
  6. Simplify duplicated service, especially if it’s duplicated across more than 2 buses
  7. Simplify branching service (which usually dovetails with #6)

My hope is that this will produce a grid where people can travel all over Oakland with at most one transfer. For this to work really well, we need high frequencies on all of the grid lines. I think that we can get some extra frequency without making huge capital and operational investments through line simplification—buses that don’t have to travel out of their way will have shorter routes that the same number of buses can cover more frequently.

This map is taking some time to put together, as it involves shuffling around a lot of currently existing lines. Changes made in one place often require cascading changes in other places. While working on it, I also realized that I would like to be able to explain some of my decisions, rather than just finish up this post with a map with a lot of lines and no justification for any specific part of it.

I’ll finish this up with maps and rationale in a follow-up post.

[1]Old data on ridership broken down by time of day was gathered as part of the Transit Effectiveness Project, the precursor to Muni Forward. This data can be found here. As the fundamental situation of the 18’s service area has not changed much in the past decade I figured that these data were still largely relevant, but I would urge caution when using TEP data to talk about other routes.

Making connections with station placement

I recently read this article about some potential development near downtown San Jose, and this along with the news of development happening around Diridon Station reminded me of the BART extension that’s supposed to come to San Jose in the mid-2020s. The San Jose subway has already been watered down from the initial proposal, in that there were two stations in the downtown area that have been consolidated into one to reduce the cost. However, the location of this single downtown station has not yet been finalized.

VTA presents two options for this station, both of which can be found here. The station will sit underneath E Santa Clara, which makes sense as that’s the main thoroughfare. The west option has the station spanning Market through 3rd, and the east option 2nd through 6th. The east option seems clearly worse: the west option is much closer to the center of downtown, and will also provide a more direct connection to the northbound buses and light rail that run on 1st and 2nd Streets. The west option would bring much higher benefit to the whole network.

Map excerpt from here, with the west option in purple and the east option in yellow.

The west option also leaves more room for an infill station between the Downtown and Alum Rock stations, which we might want to reconsider if the areas east of downtown densify significantly. An infrastructure project which has so much potential impact on San Jose should leave future options open as much as it can. Why would VTA even consider the east option, if it doesn’t fit as well with the current network and land use?

It’s likely that they would make concessions like this to avoid political battles. The west option—being closer to the middle of downtown—might engender more short-term resistance from merchants, since construction can lose them foot traffic and customers. Though this is clearly worth it for them in the long-term, merchants may not believe they will survive to get the benefit. Remember that Winter Walk SF, which shows up every December on Stockton St, is a compromise made with Union Square businesses that were afraid of losing customers. Central Subway construction in the area is suspended while this is going on, which makes it take longer and cost more.

It would also sit directly underneath the light rail tracks on 1st and 2nd Streets, which means construction on the station will probably disrupt light rail service. The city can work around this by stopping trains at Convention Center Station if they’re coming from the south and Japantown Station from the north, and running a frequent bus bridge between the two. Customers won’t be happy, though! By contrast, the east option would not require digging up 1st or 2nd Streets and light rail service could continue during the construction period.

This issue is based on the current locations of switches, and with some extra track along E St John and E San Fernando they could run trains to St James and San Antonio Stations. This would mean only Santa Clara Station would go out of service, and might provide some extra flexibility for moving trains around in the future. Additionally, these stations are less than half a mile apart and both are a short walk from downtown, so it might require less capacity on the bus bridge. I’m not sure this is enough upside for VTA to invest in something that involved, but it’s worth considering.

Unfortunately, this means the easy option is the one that does not serve the needs of riders quite as well. This shouldn’t be surprising—it’s the reason we see a lot of BART in freeway medians or why rail systems tend to expand interminably into the suburbs when they would benefit more from core capacity improvements. It should serve as a reminder that if we want a transit system that works for everyone, we’re going to need to make some noise. The VTA website lists some upcoming meetings here, so if you live in the South Bay and are interested in this, you might want to check them out.

The one-seat slowdown

In the article about the 19th Avenue Subway, I wrote briefly about the plans for the J to cover the portion of the M route in Ocean View (Randolph, Broad, and San Jose). Residents of Ocean View are now faced with a trade-off when trying to get downtown. They will experience a faster ride if they take the J to SFSU Station and transfer to long, fast M trains to continue inbound. However, some people are not happy about the loss of a reasonably quick one-seat ride, since their current route will be replaced with the J coming all the way around through Balboa Park. The J is going to spend a lot more time in mixed traffic than the M does currently, and so taking it downtown from Ocean View is likely to be a slow and unreliable ride. While we should think about what will keep the J reliable, we might also want to consider doing something else to mitigate the concerns of Ocean View residents.

Let’s take a look at the N. A large percentage of this route is at-grade, and getting from one end to the other is very slow. This sounds familiar! During commute hours, when subway space is limited and people from the forties need to get downtown in a reasonable amount of time, Muni runs an express route along this line. The NX-Judah Express aims to get people from further out to downtown quickly by skipping lots of stops in the middle and using faster one-way, timed-light roads where possible to keep the buses moving. Plenty of bus routes have matching express routes during commute hours. The 1-California and 38-Geary each have two express routes which use Bush and Pine to get downtown quickly. The 7X-Noriega Express uses Oak, Fell, Franklin, Gough, Golden Gate, and Turk. Express routes for the 8 and 14 use freeways. But most light rail lines do not need an express route since the subway generally obviates the need for them. To support a light rail express line, we need to be able to get people from far-flung areas onto fast roads and keep them there until we get close to downtown. With the J extension to SFSU, the line might become eligible for such treatment.

280 and 101 can be used to transport people express from the Glen Park areas to downtown more quickly than it would take to crawl all the way around and finally get into the subway. Stops between 19th Ave & Randolph St and San Jose Ave & Santa Rosa Ave would be serviced by the express bus, after which it would take 280 via Baden and either Circular Ave or Monterey Blvd. From there, it can get on 101 via the Alemany Maze interchange. The Central Freeway will allow the bus to exit on Mission to service Van Ness & Market. The bus can make normal J stops up Market from there. (Other designs might make different stops downtown or use a different route to get there, as the NX tries to serve the Financial District more specifically. I tried to make this serve existing downtown J/M stops as closely as possible.)


Now that the JX services stops up to Santa Rosa, we can turn around more J trains at Glen Park. This already happens during commute hours, but it’s rare, and with the JX to supplement service past Glen Park we will be able to get away with turning some trains around more quickly than we would be otherwise. This would help keep the route more reliable for residents further inbound on the route.

Of course, there are other concerns at play here. I don’t normally like introducing express buses, because they are an expensive proposition with regard to how much service they actually provide. Muni will be forced to increase its peak bus fleet to accommodate the extra commute-time load. The J station at Glen Park is somewhat confusing if trains are turning back there, since trains can’t cross over to the inbound track from the outbound side. I’m not sure how expensive installing this extra track would be. Furthermore, extremely heavy traffic on the freeways may mean the bus won’t save any time after all! However, if this idea gets more people on board with the 19th Avenue Subway by assuaging concerns over the reliability of the J and preservation of a somewhat quick one-seat ride to downtown from Ocean View, then I think it’s worth studying.

The Tenderloin gap, part III

The last two parts (12) of this series focused on a north-south bus north of Market, but we never laid out the remainder of its journey further south. I think there are two major strategies for such a route—bring it into a major connection point or continue with the north-south gridline. What would these look like?

The most easily accessible major connection point is 3rd & 20th, with connections to the T, 22, and 48. With such a design, this route would effectively be participating in a secondary downtown radial pattern along with these routes. The T brings people in from the north and south, the 22 from the west and far northwest, and the 48 from the southwest. This bus would then bring people in from between the 22 and the T. This is even more prominent once the T is sent through the Central Subway.


If we were to do this, land use at the nexus would need to support this anchoring of many frequent lines. Mission Bay is nearby, but the neighborhood is somewhat concerned about its expansion southward. The area is already zoned “urban mixed use” (UMU), which is a conversion from old industrial land use types to support more residential and commercial development. Think lofts built in old warehouses with ground-floor retail, and the like. While we like mixed use zoning, most of the parcels in this area have height limits of between 40 and 68 feet. This does not allow for very much density, and surely would not be able to support a second radial pattern. Perhaps the new Warriors stadium will provide the Planning Commission with a reason to raise the height limits in the area, but I wouldn’t hold my breath for that. Given that the T and 22 are such high-frequency and high-capacity lines and we plan to add another one, we’d probably want to raise height limits to at least 100 feet to take advantage of this. The AHBP might have been useful to provide taller buildings with more affordable housing in the area. While raising the height limits is a possibility, it is a remote one and we might be overserving this area quite a bit in the meantime.

If we were to continue the gridline to the south, we have a perfectly nice candidate already available—the 19-Polk! Given that the 19 is already bracketed by this bus and the 47/49, all of which are designed to be more frequent, we can scrap the 19 and use its southern leg for this bus instead, which leads to an increase in service for those riders. Since the 19 hits Market so close to where this bus would, it seems duplicative to try and fit an extra gridline in Potrero Hill, and we would probably have to introduce some confusing hopscotch to serve 6th St instead of 8th. This isn’t ideal because 6th St doesn’t cross over into Potrero like 7th and 8th do, but 8th St would be overserved if we ran both this bus and the 19 on it.


Muni Forward

SFMTA’s Muni Forward plan has a number of service changes planned which, if implemented, change the calculus for the two options outlined above. Under the proposed changes, there will be a lot of rerouting on the east side. The 9R-San Bruno Rapid has added a stop in front of San Francisco General Hospital, so the 33-Ashbury/18th will no longer turn down Potrero Ave and go down to the hospital. Instead, riders will be expected to transfer at 16th St and take the 9R one stop south. The 33 will instead continue eastward and take over this current leg of the route for the 22-Fillmore, which uses 17th and 18th Sts to eventually end up at 3rd & 20th. The 22 will then be rerouted to use the current route of the 55-16th St, and serve Mission Bay. The 19 is also rerouted to serve SFGH under this plan, with the 48-Quintara/24th taking over its route to Hunter’s Point. A new 58-24th St will take over the eastern part of the 48’s route and go to 3rd & 20th.

This would break up the 3rd & 20th radial hub, as the frequent 22 is replaced with the less frequent 33, and the fairly frequent 48 is replaced with the infrequent new 58. Add all this to the zoning changes needed to maximize the benefit from creating this radial hub, and it looks like this option will not work for us in the long term.

On the other hand, replacing the 19 south of Market is still a good idea: our frequent gridline has an anchor (SFGH) and the route is fairly straight. Thus, our bus can take over for the 19 no matter how many of the Muni Forward recommendations are implemented.


This new route also has the advantage of getting rid of that confusing bit it encounters as it crosses over Cesar Chavez, although the route is shorter, so some riders will have to take the post-Muni Forward 48 to 23rd & De Haro or Rhode Island to get on the new bus. In any case, this is still better than the other option should the Muni Forward recommendations come to pass. The pain of making this connection will be ameliorated by the increase in frequency.

Overall I like rejiggering the 19 instead of creating an entirely new line, since I think it works better with the land use. The other option looks nicer from a network perspective, but it is viable only if Muni does not follow through on some of its proposed changes, and if we get some help from the city to upzone the 3rd & 20th area. In effect, this ends up being a change of the 19 route, which shouldn’t be such a big deal—Muni Forward is already full of big route changes!

Completing the grid: The Tenderloin gap, part II

Last time, I talked about what I felt was a gap in Muni service. I’ll try and sketch out a line that would fill in this gap.

Since we are talking about a gap in service between Van Ness and Stockton, the best way to start would be to try and send a line right down the middle. As they are nine blocks apart, the middle lies between Leavenworth and Jones. We’re going to want to pick one of those streets to serve as the base for our line. A bus along this corridor will serve:

  • Civic Center Station
  • Boedekker Park on Eddy
  • Tenderloin Playground on Ellis
  • St. Francis Hospital on Bush
  • Grace Cathedral and Huntington Park on California, bordering which are many large hotels as well
  • The Pacific Ave neighborhood commercial district
  • Michelangelo Playground on Greenwich
  • The squiggly bit of Lombard for tourists, Yick Wo Elementary, and George Sterling Park if you’re willing to hike up to it
  • Fay Park and the San Francisco Art Institute on Chestnut
  • Russian Hill Park on Francisco
  • Conrad Square, Aquatic Park, and Fisherman’s Wharf

We should also allow easy transfers to east-west lines in the area, which would be the 1, 2, 3, 5, 10, 12, 30, 31, 38, 45, and 47. Of these, the 1, 5, 30, 38, and 47 are part of the frequent grid, so connections with these are especially important.

Designing the line

Our first instinct might be to use both streets in a one-way split, but one-way splits have a number of drawbacks. They make lines more confusing, as I talked about last time. They also reduce the area that is within walking distance of both directions of the line—a good explanation of why (and why we want to avoid this) can be found here, with diagrams. Our hope is to minimize use of one-way splits where possible.

Leavenworth and Jones are zoned similarly in Nob Hill and Russian Hill, so that’s not going to inform our decision. Since the 19 exists on the Van Ness side, and northbound buses south of Geary are further away than Stockton, let’s try Jones first.

North of California, Jones is a two-way street, so we’ll use it for both directions of this new bus line. Most buses in this area go up to North Point, so that’s our main destination, and then riders will easily be able to transfer to the 47 to head east and west. The 30, E and F are also very close to North Point & Jones. We’re also going to need to turn the bus around, and we can do so with a small one way loop like on the 19, extending from North Point to Beach.


If we look closely at this map, though, we’ve done something impossible—Columbus Ave has a median in some areas, and one such place is right where Jones would cross it. We can’t go through here. Our proposal might include breaking up this median and only allowing Muni vehicles to cross. This would require a lot of extra signaling and would complicate traffic patterns on Columbus that the median was presumably intended to simplify, so I’m going to consider this unsatisfactory. We can look at some changes in routing that avoid this problem section of Columbus.


Both strategies take us to North Point. Each one has its own complication: the first suggestion makes the line a bit wiggly, and the one-way loop terminating the second option is needlessly large. I’ll choose the first option for now.

Below California, Jones is a one-way street running south. We can make the bus use Leavenworth for the northbound leg, turn right on California, left on Jones, and continue up with the path as mentioned before. We’re trying to avoid one-way splits as much as possible, but here it seems justified. These streets are one-way, and since they are less than 500 feet apart, the one-way split doesn’t affect the service area too much.


For now we are running the bus down to McAllister, which is right before it hits Market. Let’s try out our route. We send an imaginary bus up from Market on Leavenworth, where it turns right on California, and left up Jones. We get to Green St and start going down a huge hill… in fact, this hill is so steep that our bus goes into free-fall!

The steepest grade any Muni vehicle negotiates is 22.8%, which is along the 24-Divisadero as it travels on Noe St between 26th St and Cesar Chavez. The 24 uses trolleybuses specifically because this hill was too steep for motorcoaches to climb at the time. Modern motorcoaches can do the job, as you might find when a Castro street fair closes off a whole bunch of streets and they can’t use the overhead wires anymore. The buses and trolleybuses might be able to transit steeper grades, but we’ll consider it an upper bound for now, since we don’t actually know if anything steeper will work. Jones between Green and Union is a 26.2% grade—even if we could get down this hill, it’s immediately followed by a 29% grade between Union and Filbert, and going back up later is definitely out of the question. (You can find official grade maps here.)

We can try and route around this hill as well, but we risk making the route too complicated. I’d rather move the base of the route from Jones to Leavenworth. The steepest part of the line north of California is a comfortable 22.2% grade between Union and Filbert, and the end of our route already moves over to Leavenworth anyway. This generally serves the same area while keeping the line as simple as possible. We’ll still try to use Jones south of California because Leavenworth is one-way northbound during that segment.


Let’s try the imaginary bus again. We send it up Leavenworth, where it makes it all the way to North Point, loops around and starts back towards Market. We come down to California, make a left and then a right around the odd guard rail… and promptly bottom out on the crest! Jones has a 24.7% grade between California and Pine, so putting a bus on it is not a safe bet. This means we can’t use Jones here, either! We have to explore some backup plans.

  1. Use Hyde to get to Bush or Post, take it to Jones, and use that to go towards Market.
  2. Use Mason to get to Pine or Sutter and take it to Jones.
  3. Use Hyde the whole way down to Market.
  4. Turn one lane of Leavenworth into a contraflow bus lane.


Option #1 recreates some of the leapfrog one-way splits we saw in the confusing 27 route, which we’re trying to avoid in creating this line, so that’s not a good idea. Option #2 entails a 3 block wide one-way split, which is one of the problems with the 8 and 30 that we are trying to work around by having a mid-Tenderloin line. Option #3 is workable, but risks nudging the service area a little too close to the Van Ness bus brigade. It does not require drastic infrastructural changes, so we can keep it on the table for now.

Option #4 is very interesting. Contraflow bus lanes are often used to turn one-way streets into two-way streets for transit purposes. Other traffic will only be able to go northbound on Leavenworth, but buses will have exclusive access to a southbound lane. I don’t believe they are currently used in San Francisco. This requires a little bit of infrastructure work such as painting the lane red and adding proper signage, as well as adding traffic lights at each intersection. An intermediate proposal might use a contraflow lane for a short time until the bus can get over to Jones, probably via Bush or Post. However, Leavenworth is a large street south of Geary. If we are going to use the contraflow lane north of it to avoid the California crest on Jones, we might as well take a lane out of the wide part to improve simplicity and speed.

Here are our possible alignments:


Through any of these options, we can connect Fisherman’s Wharf with Market at Civic Center Station.

Stop selection

Local buses in San Francisco stop every two to three blocks, so we can follow this model when picking stops. Ideally, we want to line up the stops with the east-west lines, so we can maximize its usefulness as a grid line.


If both the northbound and southbound trips use Leavenworth, then all of the stops north of Market are marked here. If we use Hyde for the southbound leg, we can use the same set of cross streets, but we’ll want an extra stop on Grove before continuing southeast on 8th St. The McAllister and Grove stops are very close to Civic Center Station. I also added an optional stop on Bush to serve the hospital more directly, since hospitals are destinations that you might want to add stops next to even if there are other stops nearby. For precedent on this in the current Muni network, check out the 9R-San Bruno Rapid, which stops in front of SF General Hospital on Potrero Ave even though it stops again one block away on 24th St.

Unfortunately, we are not done—this route only takes us to Market, and grid lines are more useful when you don’t have to think about where they start and stop. In the next installment, I’ll draw the rest of the line south of Market, and we can decide what a good anchor for the other side of this frequent line would be.