Posts Tagged ‘iphone’

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.

…of course i was logging

Wednesday, February 10th, 2010

Screen shot 2010-01-30 at 20.12.55I fractured my ankle in a hard snowboard crash a couple of weeks ago and of course I was data logging the accelerometer forces. I was using the iPhone app developed last fall for the seismi{c}ycling project; while riding the phone was in my jacket’s internal chest pocket.

A group from ITP was enjoying the bitter weather at Mount Snow, in West Dover, VT on our (now annual?) Snowbunnies trip. This crash was late in the day on a wide open trail. I accidentally disengaged my heelside edge for a moment, causing me to rotate slightly clockwise and slide laterally. Moments later, my heelside edge caught again, now on the downhill side, causing me to quickly flip backwards onto my head … thankfully I was wearing a helmet. After that I can’t recall what exactly happened, but I know that it involved a lot of tumbling which my right ankle just couldn’t weather. (more…)

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

No summertime fun: BeachBall rejected

Friday, August 7th, 2009

IMG_10360BeachBall was recently rejected by the iPhone Developer Program on the claim that it infringes an Apple trademark image. I’m not surprised by this at all, although I was taken aback by the (relatively) quick response – 7 days.

The usual Guidelines for Using Apple’s Trademarks and Copyrights was quoted:

Apple Logo and Apple-owned Graphic Symbols:

You may not use the Apple Logo or any other Apple-owned graphic symbol, logo, or icon on or in connection with web sites, products, packaging, manuals, promotional/advertising materials, or for any other purpose except pursuant to an express written trademark license from Apple, such as a reseller agreement.

What is frustrating by this clause is the opacity of it. Where can the ownership status of a “graphic symbol, logo, or icon” be determined? A search through the USPTO Trademark Electronic Search System (TESS) didn’t turn up anything useful. I’ll be happy to comply with Apple’s demands if I know what the specific claim is.

Several other apps have been rejected on similar grounds, often relating to the use of a rounded rectangle image which Apple claims to infringe on the iPhone / iPod touch trademark.

The beach ball image in the app is “original” art (albeit very close to the OS X spinning wait cursor) in that I created this instance of the graphic. What are the bounds of the graphic symbol’s claim? A circle with a rainbow gradient? Gloss and shadow effect? Five-bladed fan rotating clockwise at “x” rpm? Would a photograph or illustration of a “beach ball” also be deemed to infringe?

Without specific information on the claim any changes I make are likely to be a back and forth shot in the dark. Of course, I knew this going into it, but I welcome a challenge. Where’s the sense of humor? :)

Summer time: BeachBall

Thursday, July 30th, 2009

beachball_submitThe BeachBall app has been submitted to the iPhone App Store. I’m pretty sure that I’ve crossed all the t’s and dotted the i’s throughout the application and am holding out hope for a smooth process. If all goes well it will be a great surprise just before the next semester kicks off.

Thanks to everyone who has been beta testing the (codename) Pinwheel app. I’ll be sure to give you all a copy of the final app when (if?) it’s approved.

In the meantime there are several other projects which need my attention. I’m committed to getting the in-progress work finished before moving on to new stuff…which is a strong motivator since I have a few things I’m really excited about working on. Onward…!

PinwheelBeta – adhoc

Thursday, July 23rd, 2009

In preparation of submitting Pinwheel to the App Store I’ve gone and released a beta version via ad hoc distribution. Seems like it should be a straightforward prospect, however the various device provisioning, code signing profiles and entitlements made it a bit of a process for a first-timer.

iTunes also seems to be entirely unhelpful when something goes wrong with the “unknown error” message. What could it be? Code sign error? Unprovisioned device? Incorrect OS target? Mismatch in the app and mobileprovision file? It’s all a mystery in the iTunes universe.

Despite the inconvenience involved with having to generate a new ad hoc mobileprovision profile each time I add a new beta tester device, requiring a recompile of the beta app, it’s nice to finally get an app out to other non-development devices.

The ad hoc distribution process is documented well (enough) on Apple’s dev portal and on several other blogs, but my real stumbling block was navigating the Xcode interface to ensure that the proper code signing profile was being included in the binary (hint, look at the verbose build output for “embedded.mobileprovision” and ensure that the mobileprovision ID matches the correct version.)

I’ve also been getting trouble with Xcode not building using the correct provisioning, despite updating the target info and cleaning out the build folder. A restart of the program usually gets it sorted.

The next step will be to set up a Distribution build for the App Store submission. We’ll see how that goes in the end…

cross-compiling for iPhone dev

Wednesday, July 15th, 2009

Update: Proof-of-concept demo. Also, updated the script for building with the 10.6 SDK.

Update #2: Source code for demo project released.

Update #3: script for use with tesseract v3 posted.

I recently had need to use an open-source library in an iPhone project. Recalling the earlier work necessary in compiling the libraries needed for openFrameworks I started looking for a more generic way to build for iPhone development. Thankfully, LateNiteSoft wrote a great article about using a shell script to cross-compile linux projects, building a Universal Binary with versions for the Simulator and Device.

I configured their provided code snippets to build tesseract-ocr for iPhone, referring to the set-up for freetype and freeimage to fill in some c++ gaps. Anyway, the library seems to have built correctly. I’ll know for sure when I incorporate it into a project, soon.

To use it, copy the script into the project directory, next to the configure script. For a simple project which generates one monolithic library, edit the LIBFILE variable to reflect the location and name of the library. I’ve only used this for static libraries…other work may be necessary to correctly generate dynamic libraries (however, the iPhone SDK prohibits linking to dynamic libraries, so in this case it seems moot). Run ./build_fat.sh to kick off the process. Look for the compiled libraries in the “lnsout” directory. There’s no error checking, so caveat emptor. :)

Cross-compile shell script follows: (more…)