Archive for the 'Toronto' Category

BikeFixTO: iPhone app source code for sale

Thursday, July 9th, 2009

bikefixto screenshots

I built BikeFixTO - an iPhone app that shows your closest bike repair location. I’m thrilled with how it turned out: The UI is nice and clean. The animated sorting of the nearest locations looks great, and I personally use the app all the time. So, on all these technical fronts, it was a hit.

Where I’ve been less successful is on the marketing side. I never expected to sell thousands, but I expected to sell hundreds. And I had vague plans of rolling it out to other bike friendly cities. But, like so many developers I underestimated how much work it was involved in the sales process. It’s hard work to get the word out. Developers often have this idea that sales should be perfectly rational where the best software wins. The pitch is: “My software solves a problem you have. Therefore you should buy it.” And if there is no immediate response, they give up since clearly the person didn’t have that problem. The whole idea of “touching” people multiple times, reminding people, tweaking the message, running contests and having sales feels spammy and inefficient.

And that is why developer’s need to consciously stop thinking like developers when it comes to marketing. And if that isn’t possible, they should partner with someone who can better wear the marketer’s hat.

I would like BikeFixTO to take on a new life. I would love it to spread to other cities where it can promote cycling, local bike shops and bicycle culture. Personally, I’m not the guy to do that, but maybe you are.

I’ve decided to make BikeFixTO free*, but am selling the source code. For $199 you get the full source to an iPhone application that you can build, tweak, customize and sell. There are no limitations with what you can do, except that I require that you don’t distribute the source code (which would prevent me from selling other copies).

The code is also an excellent code base for anyone wanting to build location-aware applications. Some of the details about what you’ll find in the source code:

  • query data from sqlite database
  • custom sqlite function to calculate distance between coordinates
  • parse and display opening hours
  • animation to visually sort items
  • dial phone numbers
  • php code for displaying maps on a webserver
  • access GPS data

If you’re interested, download BikeFixTO and give it a test drive. Drop me a line if you have any questions or would like to purchase the source code.

*Update: I’ve changed the price back to 99ยข, but if you’re interested in kicking the tires, I’m happy to send you a promo code.

*Update 2: I’ve updated the source to use MapKit.framework for fully dynamic map of all locations instead of a static map of a single location.

FabLab in Toronto: Other organizations that provide tools, workspaces and expertise

Monday, June 29th, 2009

fablab-dsc00186.jpg
Image source: http://fablab.waag.org/

I’m interested in setting up a FabLab in Toronto - a place where people can come to build (almost) anything.

Other than an intriguing anonymous text snippit, I haven’t found an existing FabLab working group. During my background research, I’ve found several organizations that have tools and workspaces that are somewhat open to the public. These groups might help to create an interm or virtual FabLab until an actual space and funding are obtained.

If you know of any additional workshops or organizations that make tools accessible, please leave a comment below or contact me. If you are interested in keeping up to date on setting up a FabLab in Toronto, follow me on twitter: @xinsight

Existing Toronto Labs|Workspaces|Tools

Interaccess
http://www.interaccess.org/
9 Ossington Ave (Queen and Ossington)
416-599-7206
focus on digital art.
tools: electronics lab, CNC, drill press…
cost: $100/year

The Workroom
http://www.theworkroom.ca/
1340 Queen St. West (Parkdale)
416-534-5305
Epilog Mini 35W Laser cutter
- cutter only has filter (no vent) so plastic cannot be cut or etched. Wood, leather, paper, cloth, etc. OK.
cost: hourly rate (?)

HackLabTO
http://hacklab.to/
170a Baldwin St. (Kensington Mkt)
Tuesday evenings (6-ish) are open house.
Electronics/embedded software focus. Book library.
cost: $50/month

Community Bicycle Network
http://www.communitybicyclenetwork.org/

761 Queen St. West (Queen and Euclid)
416-504-2918
Full range of bike tools and parts. They have a drill press, but only staff can use power tools.
cost: $6/hour

Bike Pirates
1292 Bloor St. West (Bloor and Landsdowne)
Full range of bike tools and parts. (Welder?)
cost: by donation

Other Organizations with Tools (but no access)

There are many other publicly-funded organizations in the city that no doubt have amazing labs and tools. At this point I am unclear if there is any public access to their resources.

Toronto Public School Board
e.g. Central Tech (Bathurst and Harbord) - auto repair, sheet metal shop, milling, etc.
OCAD
University of Toronto
Ryerson

Ontario Air Quality Index (AQI) Widget

Wednesday, January 23rd, 2008

A few years ago the Ontario government built a website to inform people about the quality of air in their region. I remember reading about it and thinking that this type of information would be the perfect for displaying using an ambient interface. Then I forgot all about it.

Yesterday, I stumbled onto a Dashboard widget that scrapes the Air Quality Index (AQI) from the government website and displays it in a lovely, shiny gel tile. But it didn’t work.

So, I poked around and found that Apple’s Widgets are just like Konfabulator’s widgets, which I had messed around with ages ago. It is just a directory that contains some images, css and javascript. I changed the widget to scrape the RSS feed instead of the webpage, simplified the pattern matching and made a few layout tweaks so a pollution source like “Fine Particulate Matter” still fits on the screen.

I sent a copy back to the original author, but since I’m not sure if or when I’ll hear back from them, I’m posting my new version here.

AQI Widget screenshot

Ontario Air Quality Index widget

(For Dashboard, which is part of Mac OS X 10.4 or 10.5)

Experiment: A Mobile TTC RideGuide

Monday, March 26th, 2007

I love Google Maps Mobile, but it lacks any subway of bus information. (Besides, there’s no signal underground.) So, why not have a version of the TTC RideGuide that runs on my mobile phone? I often use the PDF version of the RideGuide, but it brings my laptop to it’s knees, so I figured the PDF reader in my phone would not work. (Confirmed: Acrobat Reader downloaded and opened the 1MB PDF, but it took about 20 seconds to slowly draw all the roads and bus routes. Then after a bit of panning, it closed the PDF with an “out of memory” error.) I would need something a bit lighter. My Nokia e61 comes with something called “FlashPlayer” which supports a simplified version of Flash (FlashLite v1.1). hmmm.

So, I converted a portion of the PDF RideGuide to swf, and then wrote a simple browsing tool in actionscript and saved it in FlashLite 1.1 format. Using the joystick on the phone, it pans and by pressing some keys (4,5) it zooms in and out. Neat! Unfortunately, a FlashLite application can only use 1024k of memory. Even though my swf file was only 200k, it needed too much memory to run. I chopped the map down in size until it worked. And then I chopped some more. It became clear that to convert the PDF to SWF, would require building the map from scratch in Flash. (Plus the fonts got slightly munged during conversion, so many of the labels look a bit wonkey.) With symbol reuse (e.g. the TTC logo and bathroom icon), the swf file size could be kept down, but that wouldn’t affect memory usage. It’s unclear how to accurately predict or estimate the amount of memory needed. Big problem.

Here’s the result of my test:

Controls:
[4] zoom out
[5] zoom in
[arrow keys] pan

(You need to click in the flash animation before it will read keyboard events.)

Here’s how it looks on the e61. (Wow, do I need a new camera.)
RideGuide test running on my e61

In short, converting a complex PDF map to SWF works, but it must be a simple, or small map in order to not hit the 1MB memory limit.