Tagapp

Android versus iOS: my Chicago Bike Laws experience

Chicago Bike Laws: dooring info

Screenshot of Chicago Bike Laws, highlighting the dooring law.

For all this talk that more people use Android, and Android has the biggest and still-growing chunk of the smartphone market (in the United States and the world), I’m not seeing that reflected in how many downloads there are of my two apps.

Chicago Bike Laws is a free app that has been available for Android (download) since November 4 and on iOS (download) since November 9, a 5-day difference. Yet the iOS version has had more installations (58) since then while people have downloaded the Android version 32 times (but 5 people removed it).

What gives? The app is exactly the same for both platforms.

Are Chicago bicyclists more likely to have iPhones? I don’t do any platform-specific promotion so you can count that out.

(The experience I’ve had with Chicago Bike Guide activity is different because the Android version came online over a year later and has always been a paid app – Android apps cannot switch between free and paid while iOS apps can. By the way, the Chicago Bike Guide is free for iOS right now and half-off for Android. The comparison is that the adoption rate is much slower for the Android version.)

Google Maps’s lies are why I made my own bike map

http://goo.gl/maps/BlIZF

Bright green lines indicate trails while darker green lines indicate bike lanes.

Because Google Maps lies about where bike facilities are. Check out the bicycling layer at 16th Street and Wood Street in Pilsen, Chicago, Illinois.

Google Maps bicycling layer legend

Google Maps bicycling layer legend

The bright green lines represent trails, but the ones in this part of Pilsen are not trails. All of the north-south “trails” you see are actually sidewalks underneath railroad viaducts. The east-west trails…well, I’m not sure what they are but they are on elevated railroad property. Don’t go up there.

I created my own bike map to deal with the inaccuracies across Google Maps. I used my local knowledge (“ground truth”) and high-quality bike facility data from the Chicago Department of Transportation.

I also used contributions to OpenStreetMap, mainly for trails. I’ve been correcting and adding new bike lane data to OSM as CDOT installs them. View this area with OpenCycleMap’s tiles, which shows only bike lanes on 18th Street.

If you’re an editor on Google’s Map Maker data editing platform, please correct these errors. I would do it except that Google doesn’t allow others to benefit from my data contributions like OpenStreetMap does, where anyone can give and take. (I also had a negative experience on Map Maker, getting myself into a tiff with an unnamed user who disagreed with my changes, based on a personal visit to the location, that were not visible on the satellite imagery because that location had outdated imagery.)

 

Update on my work this summer: Chicago Bike Guide now on Android

Yesterday I released the first version of my app for the Android operating system. The Chicago Bike Guide (born the Chicago Offline Bike Map) had been available for iOS since April 2012 and the most frequent question I heard was, “When will you have an Android version?” At first I was probably joking when I said it was coming soon as I had no interest in it. But things change: more people kept asking, I was slowly learning how to publish an app for Android, I bought a tablet myself on which to test it, and Android eclipsing iOS as the most dominant mobile OS had some effect.

I use PhoneGap software to compile the Chicago Bike Guide for iOS. My app is actually an HTML5 compliant website using jQueryMobile and PhoneGap allows this website to interact with some of the hardware on the iPhone (like the GPS components) and software (native notification buttons). PhoneGap compiles for Android and other operating systems, but my experience using the Android emulator put a damper on my progress.

I would install Google’s software development kit (SDK), including Eclipse, and load the app (er, website) into the emulator and it would be terribly slow. It didn’t emulate the Android experience very well. I did this twice; I don’t remember making any additional progress the second time but I probably made different progress, slightly expanding my understanding of how to make Android apps.

PhoneGap 3.0.0 came around, and its use requires focusing on the command line to build apps. In prior versions, for iOS, you would add “helper software” to Xcode but now it creates the Xcode project for you. It was easier to use this time around, as the process in this version was simpler to understand, use, and the documentation had improved. I felt it was time to try again to make an Android version so I “made the plunge” and bought the Asus MeMO Pad HD 7″ tablet from my local Micro Center.

At first I used the tablet to test my app (website) as a website, loading it over the network from my Mac’s web server. After fixing a lot of the display bugs I moved into native app testing. One command, “cordova build android”, and an APK I can email to my tablet appears 30 seconds later. This is one of the few areas where Android has iOS beat in terms of testing.

The iOS development environment requires so much setting up with developer profiles, team profiles, and other gunk I forget the names of. With Android, you simply email the ChicagoBikeGuide-debug.apk file to your device and open it in the Gmail app. Voilá.

After getting this far I stopped progress on developing for Android as I wanted to issue a new version for iOS with features and bug fixes I’d been working on since the last release in July (version 0.8.2). With that out of the way last week, and the new version waiting for Apple’s review, I worked on the Android version on Sunday and finished it today.

Did you catch that? I uploaded version 0.8.3 for iOS on October 3 and it’s been in review since then while in less than 24 hours I set up my Google Play Developer Console ($25 per year), merchant account, store listing, and started selling the Android version.

N.B. Google Play doesn’t allow you to switch the app between free and not free like the iTunes App Store does, so I cannot release it for free during a short promotional period like I did for the iOS platform.

After a sufficient period (a few days, perhaps) of no reports of it crashing, I will promote the Android version heavily.

Some reasons why the CTA doesn’t make its own mobile apps

Where’s the train?

“Twitter updated their app and now it sucks”. (Here’s some evidence.)

Have you heard that before? Thankfully there are tens – perhaps hundreds – more options to post to and read Twitter on your appy device.

The Chicago Transit Authority provides 1.7 million rides per day. A lot of passengers like to know where the trains and buses are. And it’s possible to know with many tools like Bus Tracker and Train Tracker, both of which are available through APIs, SMS, and websites.

Some people (eh, I can’t exactly point out who right now) have noted (complained?) that the CTA doesn’t make its own app for smartphones and tablets. I’m glad they don’t!

Here are more reasons why the CTA doesn’t make its own mobile apps:

  1. It would be racist of the CTA. (Pretty much everything the CTA does is racist according to someone but making an app would only be useful to those with compatible devices, so it’s probably more accurate to say income discrimination.)
  2. Bus service is getting cut but they’re spending money on making apps.
  3. There are 4 platforms to write apps for (at least 4 – not sure if any CTA passengers would demand Symbian or webOS).

The best reason?

Developers can do it better. So the CTA gives them the tools.

How to split a bike lane in two and copy features with QGIS

A screenshot of the splash image seen on users with iPad retina displays in landscape mode. 

To make the Chicago Offline Bike Map, I need bikeways data. I got this from the City of Chicago’s data portal, in GIS shapefile format. It has a good attribute table listing the name of the street the bikeway is on and the bikeway’s class (see below). After several bike lanes had been installed, I asked the City’s data portal operators for an updated shapefile. I got it a month later and found that it wasn’t up-to-date. I probably could have received a shapefile with the current bikeway installations marked, but I didn’t have time to wait: every day delayed was one more day I couldn’t promote my app; I make 70 cents per sale.

Since the bikeway lines were already there, I could simply reclassify the sections that had been changed to an upgraded form of bikeway (for example, Wabash Avenue went from a door zone-style bike lane to a buffered bike lane in 2011). I tried to do this but ran into trouble when the line segment was longer than the bikeway segment that needed to be reclassified (for example, Elston Avenue has varying classifications from Milwaukee Avenue to North Avenue that didn’t match the line segments for that street). I had to divide the bikeway into shorter segments and reclassify them individually.

Enter the Split Features tool. QGIS is short on documentation and I had trouble using this feature. I eventually found the trick after a search that took more time than I expected. Here’s how to cut a line:

  1. Select the line using one of the selection tools. I prefer the default one, Select Features, where you have to click on the feature one-by-one. (It’s not required that you select the line, but doing so will ensure you only cut the selected line. If you don’t select the line, you can cut many lines in one go.)
  2. Toggle editing on the layer that contains the line you want to cut.
  3. Click Edit>Split Features to activate that tool, or find its icon in one the toolbars (which may or may not be shown).
  4. Click once near where you want to split the line.
  5. Move the cursor across the line you want to split, in the desired split location.
  6. When the red line indicating your split is where you desire, press the right-click mouse button.

Your line segment has now been split. A new entry has been added to the attribute table. There are now two entries with duplicate attributes representing that together make up the original line segment, before you split it.

This screenshot shows a red line across a road. The red line indicates where the road will be split. Press the right-click mouse button to tell QGIS to “split now”.

After splitting, open the attribute table to see that you now have two features with identical attributes. 

Copying features in QGIS

A second issue I had when creating new bikeways data was when a bikeway didn’t exist and I couldn’t reclassify it. This was the case on Franklin Boulevard: no bikeway had ever been installed there. I solved this problem by copying the relevant street segments from the Transportation (roads) shapefile and pasted them into the bikeways shapefile. New entries were created in the attribute table but with blank attributes. It was simple to fill in the street name, class, and extents.

Chicago bikeways GIS description

Bikeway classes (TYPE in the dataset) in the City of Chicago data portal are:

  1. Existing bike lane
  2. Existing marked shared lane
  3. Proposed on-street bikeway
  4. Recommended bike route
  5. Existing trail
  6. Proposed off-street trail
  7. Access path (to existing trail)
  8. Existing cycle track (also known as protected bike lane)
  9. Existing buffered bike lane

It remains to be seen if the City will identify the “enhanced marked shared lane” on Wells Street between Wacker Drive and Van Buren street differently than “existing marked shared lane” in the data.

I’m on the home stretch for first update to Chicago Offline Bike Map app

Splash screen of the app. 

Since making the first version of the Chicago Offline Bike Map app, a bike map stored in your iOS device and doesn’t need an Internet connection, I’ve made several important changes and added new features. I’ve upgraded twice how train stations will be appearing. I’ve completely changed the way it looks by using jQueryMobile. Also with v0.2 you’ll find more points of interest, locate yourself using the iOS device hardware (results will vary on a variety of hardware and location factors), and zoom to any neighborhood.

I want your help. I want to make a list of at least 20 points of interest. I’ve no qualifications, but this is who I think my target audience is: people who have cycled in Chicago for a while, people who have just started cycling, people who have iOS devices (I will expand to Android eventually), and who know how to use a map.

Current points of interest are:

  • All CTA and Metra stations
  • All neighborhoods
  • Peggy Notebaert Nature Museum
  • Field Museum of Natural History
  • Museum of Science and Industry
  • DuSable Museum
  • Harold Washington Cultural Center
  • Chicago Cultural Center
  • Holography Museum
  • Museum of Contemporary Art
  • Chicago City Hall
  • Chicago Velo Campus
  • Millennium Park Bike Station
  • SAIC Bike Fixit Station

Train stations on the map. 

Excluding train stations and neighborhoods, there are 12 points of interest. What else should I add? (Since posting this I’ve added the three largest libraries: Harold Washington Library Center, Woodson Regional, and Sulzer Regional.)

P.S. I plan to make an Android version of this app, but I have no timeline on that. Follow app development at the app’s Tumblr.

My first iPhone app – Request a bike rack

Here’s a video preview of my first iOS app that will hopefully, in the end, allow you to request a bike rack in Chicago based on where you and your device are currently standing.

I don’t know if it will ever hit the Apple App Store because Apple requires developers to pay a $99 fee each year. I’m surely not going to pay this. It will be able to run on jailbroken iOS devices and it will work on iPhone, iPad, and iPod touch.

The code is based on my Bike Crash Portal website that asks permission to use your location (given automatically through HTML5 and the computer’s own location software). A fork of this project may include a mobile-optimized website that allows you to request a bike rack; again, based on your current location.

The purpose of this is to eliminate the need to know the address of where you want to request a bike rack. Oftentimes a person will arrive at their destination and not find any bike racks. Open the app, hit “Share my location” when the app loads and then tap submit. The Chicago Bicycle Parking Program (hopefully) will receive your request.

Weighting people’s experiences in route choice

An iPhone app is not a substitute for a paper map*, good signage on your bikeway network, or someone just telling you, “Turn right on Church, right on Chambers, left on Reade” to get to the bike shop where you left your water bottle.

At the bike shop I asked about how to get to the Williamsburg bridge so I could go “home” to Brooklyn. After looking at the map, he said, “Oh, take Grand.” -He then told me how to get to Grand.

The Williamsburg bridge. I took this one even though the Manhattan bridge was probably closer to my “home” because I hadn’t yet ridden on it!

I did. It worked. It was excellent. I even passed by the Doughnut Plant (which I had forgotten about visiting).

Doughnut Plant makes really tasty donuts. I wouldn’t get them too often, though, because each one costs $3.

Not only did I receive a “tried and true” route suggestion, I got it faster than any automated route devising device would have generated one.

Each month I’m asked by people how to get somewhere in Chicago. We have so many resources these days but we often still rely on the spoken interaction to get us to our destination.

*I’ve read or heard people suggest that “someone should make” an app that puts the bike map on their smartphone. I don’t think this app would be very useful or easy to use. But a paper map is both – and almost always free.

Interview with Bay Citizen on bike crash map

Thank you, Tasmeen, for asking about my bike crash map that your newspaper inspired me to create.

Read the interview.

Read about the bike crash map for Chicago.

View the bike crash map for Chicago (2007-2009).

It’s not this sunny yet, but today it was 49°F in Chicago. This photo was taken on Milwaukee Avenue, where the most people bike, and where the most people have bike crashes.

Can we use location-based services to make urban planning “rise”?

Facebook launched a feature called Places that allows its users to “check in” to Places and to see where their friends are. People can also see where the most popular venue is at any given time (provided they have friends there).

SeeClickFix has mobile apps (and a website) that enables users (in participating locales) to report issues (like graffiti and potholes) in their neighborhoods.

Augmented reality apps for smartphones overlay the virtual world (of yellow pages and restaurant reviews) on the physical world depending on where you point your phone’s camera.

Is there something (an app, a concept, a teaching) that we can develop that uses these apps or the same technology to raise awareness of “urban planning” in all of our cities’ citizens? Such a scheme would attempt to educate and involve more people into the city’s social, cultural and built environments, the urban fabric (buzzword alert!), as well as the history of their surroundings.

Possible scenarios

1. While riding the train through a neighborhood, the new location-based service that encompasses everything about urban planning might aggregate information relevant to the location and activity. Perhaps the application would display to the user information about the history of this particular elevated train’s construction on this branch as well as pull up information on upcoming schedule changes. Lastly, the transit operator may ask the user to take a survey about this particular trip, looking for information on how the user accessed the station (via bike, walking, car, or bus?).

2. My friend Brandon Souba created a proof-of-concept app called Handshake that tells you about nearby app users with similar interests. But this hardly raises civic or urban awareness. Maybe non-profit organizations who need volunteers could create profiles in Handshake and when you’re near a staff member or the headquarters, your phone alerts you to a possible volunteer opportunity.

3. What are your ideas?

© 2019 Steven Can Plan

Theme by Anders NorénUp ↑