Archive for the ‘iphone’ Category

Mobile Logger – DB export and zip compression

Saturday, August 14th, 2010

db-zipGot two new features rolled into Mobile Logger at once…raw database export and zip compression. This sounds exciting, right?!

Actually, it’s pretty cool and useful. Some of these new export formats (GC and GPX, I’m looking at you) are XML-based and thus quite verbose. What was a manageably small CSV file or JSON string has become inflated much larger from all the tagging in these formats. Exporting a log in one of these formats means having send a doubly large file (approx. 300kB -> 600kB). However, all the repeated tags makes them great candidates for zip compression. Those logs are about 70kB afterwards. So there’s that. (more…)

Mobile Logger – GPX extensions

Tuesday, August 10th, 2010

gpx-extRolling the extra logged sensor data into the GPX export took more effort that it should have…but I uncovered and fixed a latent bug in the export feature, so that’s a win right? Regardless, it’s was nice to use the new issue tracker at bugs.robertcarlsen.net for real(z) for the first time. I’m looking to get several other features implemented before the next released update…planning on a few weeks. Otherwise, code is available, as always, on github.

Mobile Logger GPX + GoogleEarth

Tuesday, July 13th, 2010

mobilelogger-myfirstgpxfile

GPX export seems to be working, and imports fine into Google Earth. This is just a basic implementation of the essentials for a route; I’d really like to include other recorded sensors somehow into the track – maybe it could be a layer in Google Earth?

Looking at the ride data here reveals just how bad raw GPS data can be between tall buildings in NYC. Several data points often share the same GPS location. It seems that moving quickly with a clear path to the sky gives the best performance.

The app also quit midway though the ride – I have to look into that.

GPX export is available in the github repository.

Mobile Logger has gone global

Saturday, April 24th, 2010

globalThe Mobile Logger application has been public for a couple of weeks and has (surprisingly, to me) been used in every continent, save Antarctica. I first noticed several events in the database from Australia, then the UK. I was mostly catching these events by coincidence when I was looking over my own data and wondered just where (in the world) these other users were logging from.

For Earth Day, I generated a map of the global users of Mobile Logger and put it on the status page. While the historical data is really neat, and humbling to know that people all over have tried this app, the real-time data is captivating. I added the city of the most recent event and a pulsing marker to the map. Now, the location of the newest log is marked when the status page is updated. Next, I’d like to show it when several events have been logged at the same time.

That’s it for now…working on the next iteration of the visualizations. I’m thinking of some Feltron-inspired summary charts, then a more detailed array of specific data. Who knows?!

Earth Day + Mobile Logger

Wednesday, April 21st, 2010

1260201893_posterThursday, April 22nd is Earth Day. The weather is looking to be sunny and 65 degrees in New York City. Sounds like a perfect day to ride your bike (or walk, run or whatever you like to do outside). Since you’re already going to be out there, why not log the trip, help me with my thesis, and have your data made into some visualizations I’m preparing for the project?

It’s pretty simple…download Mobile Logger from the App Store (iPhone 3G/3GS), open it, then tap Logging switch to begin. Put the phone in your pocket, bag, mounted to handlebars, or wherever is convenient and go. You can double-tap the screen to disable the display, but shouldn’t lock the phone.

When you’ve reached your destination, tap the logging switch again to stop and you’re done! The log data is automatically uploaded to the Mobile Logger server and will be included in my research (this uploading can be disabled if you’d like to use the app without contributing to the project, too).

What I’m really interested in exploring is a sense of connection between us by sharing our experiences. I ride a bike daily through NYC, and encounter many other cyclists, walkers and drivers. We pass each other in a moment, or perhaps share a lane for a bit and then continue on our separate ways. How does my 5 mile, 25 minute ride from Greenpoint to the East Village compare to someone riding from Queens? What does a ride around Prospect Park share with one in Central Park? What’s the loudest part of the city for a cyclist? Where are the most frequently ridden routes?

I’ll be working with the contributed data to create visualizations which attempt to answer these questions. The “dashboard” of the system will be present at mobilelogger.robertcarlsen.net. More info about the app is available on it’s documentation page.

Times UP! is also organizing a ride at 7pm from Union Square if you still need another excuse to get on a bike, skates or a board. It would be neat to see a bunch of riders converge on a location, then ride together in a group. I really want to see what that visualization would look like…

Thanks, and enjoy the ride!

Mobile Logger on the App Store!

Monday, April 12th, 2010

appstoreAfter several rounds of rejection, Mobile Logger has been accepted and is available on the App Store! Feel free to try it out; hopefully some folks will find it useful. The source code for the application has been released under the GPL and is available on github.

I’m still actively recruiting participants for my ongoing thesis project, which involves visualizing cyclists in New York City. If you’d like your riding to become incorporated in some pretty pictures to be presented in May, then by all means start logging (and thank you in advance)!

Be warned, it’s a battery hog. Feel free to let me know if it gives you any trouble.

…here goes nothing. Mobile Logger submitted.

Wednesday, March 31st, 2010

Just submitted MobileLogger to the AppStore. Hoping this goes smoothly given my tight schedule for thesis.

mobileLogger submission


For reference, when there are multiple versions of Xcode / iPhone SDK, specifically a beta version alongside the release version, and using xcodebuild command…explicitly set the xcode path to the release version or the application may be built against the beta SDK and get rejected by Apple:

sudo /usr/bin/xcode-select -switch /Developer

Yeah, knowing that ahead of time would have saved hours.

Calling NYC cyclists!

Thursday, March 25th, 2010

mobile logger iconI’m looking for some beta testers for my iPhone data logger application. I’m specifically soliciting bicycle riders to record their rides around New York City in support of my thesis research involving visualizing the cyclist experience. This is a proof-of-concept exploration in what a ubiquitous mobile sensor network could possibly look like, using existing technology that we already carry to learn about ourselves and our world.

I’ve chosen to focus on cycling in the city, but the concept is far-reaching (and I’m certainly not the first to approach this). Recently, The New York Times published an article [1] revealing findings from a year of GPS logged taxi cab data, summarizing average traffic speeds in Manhattan by day. Similarly, Cabspotting [2] visualized the taxi routes in San Francisco. Flight Patterns [3] reveals the air traffic over the United States throughout a typical day.

dashboardProjects involving using the bicycle as a sensing platform have emerged as well. The Copenhagen Wheel [4] is a dense array of motion and environmental sensors packed into an electric-assist rear hub. While not cycling-specific, the Personal Environmental Impact Report [5] uses GPS-enabled mobile phones to infer mode of travel from speed and calculate your carbon footprint and exposure to air pollution.

I’m primarily looking to see if there are correlations in rider travel patterns. Are there commonalities in routes, sound levels, bumps? How are riders navigating to similar locations? What are typical trip durations and speeds? Do different types of riders (commuter, enthusiast, courier, racer, delivery rider) behave differently? When are riders on the roads? For all of this, what could it look like as visualization?

This application is the data collection mechanism I’ve chosen to employ for this exploration. It records location, heading, speed, altitude, accelerometer, sound level, trip duration and distance to storage on the device. Each log can be viewed on a map and individual samples inspected. Export logs via e-mail in CSV, JSON or Golden Cheetah format. Data can be automatically uploaded while recording as well.

map viewThis application will be released as open source software under the GPLv3. Source code will be available at: http://github.com/rcarlsen/Mobile-Logger

If you’d like to participate in this beta test, please e-mail me the UUID for your iPhone (3G or 3GS, OS 3.1+) device. This can be retrieved in iTunes by connecting the iPhone via USB cable, and clicking on the Serial Number field in the device summary. After displaying the UUID, go to Edit > Copy to copy it to the clipboard.

The basic functions of the application are on the project page. If you’re simply interested in recording your trips and not specifically interested in contributing to the project then I ask you to wait for the public release of the free app in the App Store. An Android version of the logger is also forthcoming.


[1] http://www.nytimes.com/2010/03/24/nyregion/24traffic.html?ref=nyregion
[2] http://cabspotting.org/
[3] http://www.aaronkoblin.com/work/flightpatterns/
[4] http://senseable.mit.edu/copenhagenwheel/
[5] http://peir.cens.ucla.edu/

OCR for iPhone source

Tuesday, January 12th, 2010

ocr_gobbledygookThe source code for the Tesseract OCR for iPhone project has been published. It’s really simple – more of a skeleton, proof-of-concept project than anything else. Still, though, it’s neat to have nearly point-and-shoot text conversion in your pocket.

The project page is: Pocket OCR

The source code is available at github: http://github.com/rcarlsen/Pocket-OCR

There is certainly a lot of improvement to be made. Automatic color correction. Page layout recognition. Perspective correction…the list could go on. The code is there, so…fork away!

(the thumbnail is a bit tongue-in-cheek…but honest. good conversion requires a good source image: well-lit, macro, focused and tightly cropped seems best)

OCR on iPhone demo

Sunday, December 6th, 2009

Update: Source code for demo project released.

TessIcon

i finally got around to building a proof of concept implementation of tesseract-ocr for the iPhone. months ago, i documented the steps which helped to get the library cross-compiled for the iPhone’s ARM processor, and how to build a fat library for use with the simulator as well. several folks have helped immensely in noting how to actually run the engine in obj-c++. thanks to everyone who has commented so far.

anyway, below is a short video of the POC in action. the basic workflow is: select image from photo library or camera, crop tightly on the box of text you’d like to convert, wait while it processes, select / copy or email text. (more…)