TagChicago Bike Guide

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.)

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.

My experience with Divvy today: smooth and slow

Trading one bike for another.

In short, the functionality was everything I expected it to be.

Read more about the Divvy launch on Streetsblog Chicago here, here, here, and here (all posted today). 

I biked to the station at Damen Ave & Pierce St (Damen Blue Line station), locked my WorkCycles Fr8 to a potential sucker pole (it still had its bolt), grabbed my tote bag from its basket and stuffed that into the oddly shaped carrier on the Divvy bicycle. I inserted my key into the slot and waited for the green light. I only saw yellow. It was either never going to turn green on this bike, or I didn’t wait long enough. I tried the next bike and it unlocked.

To undock, lift the bicycle by its saddle and pull backwards. I adjusted the seat to its maximum. I also adjusted the quick release because someone had loosened it so it wouldn’t tighten the seat post. Off I went, through the congested streets of Wicker Park.

I wanted to hit up every dock on my way to my destination: Eckhart Park. My friend told me this station wasn’t there although the map said a couple of days ago it was there. Divvy’s spokesperson, Elliot Greenberger, told me it was moved from the corner of Chicago Ave & Noble St to inside the park (east of the field house) for traffic safety reasons that he didn’t specify in the quick email. The station was offline.

On the way I stopped at the station outside the Walgreens at Wood St & Milwaukee Ave. I returned my bike and checked it out less than 5 seconds later – this is called docksurfing (thanks Doug). I biked over to the next station on the way to the park: Noble St & Milwaukee Ave.

Rebalancing by removing bikes from this station to take them to another. 

There was a guy here with one of the blue Sprinter vans loading bikes into the van. I asked if he was rebalancing. Yep. I asked how many could fit inside: “22 if I’m lazy, or 24 if I play Tetris right”. He asked me what I was doing and I said I was trying Divvy for the first time. He said “Have a great ride!” Aw, how nice.

I found the station at Eckhart Park just as it started raining. But like most storms this week, it stopped raining after 5-10 minutes. I got nervous because I didn’t know when I checked out this bike and I didn’t want to run over my free 30 minute period. I’ll have to pay better attention next time and perhaps get this kitchen timer on a rope (it has a magnet, too; thanks for the idea, Robert).

I biked the Divvy steed over Noble Street’s potholes, cracks, and bumps, with extreme comfort and agility. My WorkCycles Fr8 isn’t this comfortable (except it better matches my height). The aluminum frame and wide Schwalbe tires wonderfully absorb bumps. I docked the bike, then sat on it and texted a few more people about how cool Divvy is. After a couple minutes, I checked out the same bike and rode it back over to Damen Ave & Pierce St. I traded back to my Fr8 and came home.

The awkward carrier, but it held my tote bag.

Whining about the bike as being heavy is uncalled for: many of the bikes people ride in Chicago are within 25% of the weight of a Divvy (which is around 45 pounds). Think about all those vintage Schwinns people are riding: they weigh the same yet Divvy rolls so much smoother and more comfortably and it won’t flat as often. Then there’re the mountain bikes from department stores like Walmart and Target. Those have no consideration of longevity, efficiency, or “weight savings”: they’re just as heavy and wear out within a year. The Divvy bike, I believe, is the first universally-designed setup I’ve seen. Bicycle shops will be doing themselves a service to stock the closest-feeling bike as some Divvy members are going to migrate to owning their bicycle and will seek the Divvy equivalent.

What I dislike about the Divvy bicycles is its low gearing. My average speed was less than 10 MPH while on my Fr8 it’s just over 12 MPH. Whatever. In most places in Chicago, you shouldn’t be going fast because you won’t be able to spot and anticipate all the drivers who have inattentional blindness and won’t see you before dooring you or swerving into your path.

(Whet thinks he hit 15 MPH, which I told him I doubted, but I would love to have a Divvy race with him!)

I saw one other person riding a Divvy on my short (less than 45 minutes) journey on Divvy in Wicker Park and around Eckhart Park. 

An app that shows real-time availability is available in Cyclefinder, but the Divvy staff didn’t promote this until people inquired on Twitter and Facebook. The app was updated by the Divvy hardware vendor on June 21 to include the Chicago system in the iTunes App Store and Google Play Store, but you had to search for “divvy” to find it and since it wasn’t branded as “Divvy” I bet a lot of people avoided installing it.

You can also buy and download my app, the Chicago Bike Guide, which has Divvy station location integrated (read how). However, I must warn you that it’s already slightly out of date and I’m working on fixing this. I’m also working on real-time availability as I’ve just discovered the API. This is going to take me at least a week.

Don’t forget there’s a hidden bell by your left thumb. 

Just in case you’re new here

Welcome to Steven Can Plan. Here’s some stuff I’ve posted recently around the interwebs…

On my other blog, Streetsblog Chicago, I wrote about how we need to do a better job counting bicyclists.

In Copenhagen, a permanently installed device counts cyclists all day, every day. 

And a guy from Brooklyn was visiting his friend in Chicago and was struck by a car whose driver escaped – he spent the night in the hospital for cranial bleeding and went back home on Sunday. The Chicago Police Department is its slow self in getting the lawyer the crash report and witness information.

The scene of the crash. 

I issued two updates to the Chicago Bike Guide app for iOS (formerly called Chicago Bike Map) and talked about its new features here and here. Head over to iTunes to buy and download it.

The Chicago Bike Guide includes my burrito recommendations. 

Lastly, on this blog, I boasted about how cool it is that anyone can improve OpenStreetMap: I showed you how much I drew to make Willow Creek Community Church appear in South Barrington, Illinois. It was previously an empty space! If you want something changed on OpenStreetMap, I’ll do it for you.

A screenshot shows what I added: parking lots, parking aisles, driveways, retention ponds, and the church building. 

That’s the kind of stuff you can expect from me; my tone isn’t always so negative. I also post a lot of articles about GIS, QGIS, and geocoding, but I haven’t in a while.

OpenStreetMap editing and two Chicago events in April

A mapping party! Photo by MapBox. 

I use OpenStreetMap (OSM) heavily since I learned how to edit the map. OSM is the Wikipedia of worldwide mapping: it allows anyone to edit and contribute and allows anyone to copy and extract the data.

I edit places that lack information, fix mistakes (like how roads are drawn, or typos), and add new places. This work is important to my app because what is shown on OpenStreetMap is what appears in my iOS app, the Chicago Bike Map app.

The Chicago Bike Map app map tiles currently look like the above screenshot. Before releasing the next version I will download the latest version of “planet”, which has 100% of buildings now, thanks to Ian Dees

When I locate a place that needs more detail and I want to add it, I open JOSM.app and then, on the OpenStreetMap.org website, I click “Edit>Edit with Remote Control”. JOSM pans over to that spot and downloads all of the OSM data. It works very much like a GIS application and AutoCAD: it has points and polygons that you can move or resize. When you’re done adding features or editing the geometry or metadata of existing ones, click “Upload data”, add a message summarizing the changes you made, and hit the “Upload” button.

Screencast showing how I locate places to which to add detail and then add them with JOSM.

Your changes will be integrated in the OSM database almost immediately. The changes will appear on the live OpenStreetMap.org map tiles in minutes. The “extract services”, which take the data out and send to you as a compressed file or even ESRI shapefile, will read the “planet” file (complete OSM database) soon; some update nightly while others update weekly.

Here are the extract services I use (each one for different reasons):

  • BBBike.org – nightly; allows you to select any area with a self-drawn polygon; exports in ESRI shapefile and other formats; extracts take 15-30 minutes.
  • Michal Migurski’s Metro Extracts – monthly; has ~100 cities pre-extracted; this is now hosted on Smart Chicago Collaborative’s resources alongside my Crash Browser.
  • GEOFABRIK – nightly; all continents, many countries and all fifty states are pre-extracted;

Events!

These are copied straight from the Smart Chicago Collaborative website. I will be at the Map-a-Thon. I’m still thinking about the Hackathon. While I can’t program in the languages required, I can write decent documentation.

OpenStreetMap Map-a-Thon

Beginning mappers are invited to be a part of a national OpenStreetMap Map-a-thon by learning how to use our tools to improve the map in your area. You can add your favorite restaurant or comic book store, a local school or hospital. During the map-a-thon we’ll walk you through the process of finding your area, creating an account, and making your first edit. With that foundation, you can go on to make an impact by adding tons of information relevant to you and your community!

Attend the Map-a-thon April 20th and 21st at 1871 on the 12th floor of the Merchandise Mart, 222 Merchandise Mart Plaza from 12 PM to 6 PM. Participants will enjoy food and drinks thanks to Smart Chicago Collaborative.

For more information about the map-a-thon and to RSVP, please visit the Meetup page for the event.

OpenStreetMap Hack Weekend

If you know your way around a compiler, feel comfortable with JSON and XML, or know the difference between an ellipsoid and a geoid, then the Hack Weekend is for you. We’re looking for those with technical know-how to help make a difference in OpenStreetMap’s core software by writing patches and new software to help make mapping faster and easier. Special thanks to Knight-Mozilla OpenNews for their support and sponsorship.

The hack weekend will be held April 27th and 28th at 1871 from 9 AM to dinner time each day.

For more information about the hack weekend, please visit the OSM wiki page for the event. Two MapBox staffers will be here. MapBox is awesome; they make TileMill which makes my iOS app possible.

Customer reviews for my bike map app

Only reviews left for the current version are displayed on the iTunes Preview page, and the default view of the iTunes Store. 

I’m appreciative of the two reviews people have left for my app – it’s a bike map for Chicago stored in your phone, download in iTunes. Their positivity and the slight increase in sales this past week has increased the ranking of my app. I don’t know what the ranking means.

When my app first ranked, in its Reference category, it was 385, then 289, and now stands at 315. I’m not sure on what factors the ranking is based, but I’ve gathered some clues from other bloggers:

[In addition to the number of downloads, other] factors play into the ranking equation such as how long the app is opened as the active app and how often the app is opened.

There’s no mention of reviews on that page, but I found another article that mentions more ways to improve your app, which includes having positive reviews. (Another factor it mentions is frequently updating the app.)

I’d like to hear from my app’s users what their feedback is before they leave a review in the iTunes Store. I can address issues directly with users and discuss how they can (or cannot) be incorporated in a future update to the app. You can send your feedback to me, and your love to the app store. (A major downside of the customer reviews process in the iTunes Store is the inability for the developer to respond.)

My app’s received two reviews (both 5 stars!) so far:

Saw this app being discussed on Twitter and thought I’d check it out. So, on the hottest day of 2012, I jumped on my bike and rode around my area checking out the apps features. Color me impressed! I rode to a few areas that I was not over familiar with and activated the app to peruse my options via my bike (or CTA). I look forward to using this on my far south/far north bikiing adventures soon!

The first reviews about the first version:

Would be great if it could locate on the map with GPS. Also if it could zoom out more. These bike lanes have come a long way recently. There are some really nice new places to ride like the cycle track on Kinzie. But there are also some old routes out there that are great biking such as the Boulevard System (Humboldt, Logan, Palmer Sq) that you could show on your map. And it says it supports German, but it is in English 🙂

The part about my app being available in German was true for v0.1, but I’ve fixed that for v0.2. If you’re going to leave a review, I’d like to leave you with this advice, for I feel it makes for a constructive review:

  1. Describe what is good about the app, and what you like about the app.
  2. Describe how you’ve used the app.
  3. Suggest ways the app could improve.

This was what the first version looked like. It wasn’t very good. 

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.

© 2019 Steven Can Plan

Theme by Anders NorénUp ↑