Cocoa Touch: Beta 3 Drop

New SDK drop today, includes a tutorial that shows how to develop your first app using Interface Builder.

If you want to check a good tutorial on Object Modeling that explains IB on a MVC context (with Core Data behind the Model Framework) check these links: Core Data Programming Guide and Cocoa Design Patterns.

Travelogue: iPhone SDK & Cocoa Touch

I have to say that Steve Jobs had its Vision (with its meaning as large as a full moon) the day he entered Xerox Parc’s Place sometime back in the 80’s (79 in fact).

You know beauty when you see it.
Photo by Roman Lily

He got a hold of that creative hippie energy floating in the air and like a grown-up Harry Potter made beauty and truth come together in pure reality. He is a visionary that as Wired published recently can push people enough to turn those visions, truth.

Jobs is capable to translate what everyone is hardly wishing (and therefore imagining) into a single piece of touchable reality. (Photo by Roman Lily).

Parc Place

What amazes me is the beauty of seeing Cocoa, OOP, MVC, Event Handling, Model/View bindings through the Observer/Observed pattern (KVC, KVO) all in a single & same place, platform.

Until now you had one or other aspect implemented in a different platform without giving you the whole picture. Ever.

A Mac running NextStep is what Jobs saw at Xerox.

He built on it and you can see that by looking at the way Cocoa Frameworks are put together.

The language is clean, clear. Get used to the NS and go ahead delving into the code.

Java brought a lot of that class, beauty to fruition. But the Mac puts the experience in a unique context.

It is all in one single, same box.

Flawless Not

BTW, not saying that the Mac is flawless.

Everyone & everything has its flaws, don’t want to sound “too rosy”.

It is just that beauty (com’on, it IS a piece of beauty - an expensive one) helps to put you in a positive, constructive, creative mood.

Even the logo, it seems…

Interface Builder

Apple released a new version of the SDK today. It includes a new version of Interface Builder, a drag & drop user interface design tool that will certainly make development simpler and faster. (Those Barbarians getting their way…).

Let’s see what Interface Builder can do with Cocoa Touch. Not everything, yet…

Check the Release Notes, full complete support for UIKit views and controls didn’t make for this rev.

But you can as a basic starting point, create Views, drag and drop controls and run the simulator.

From here

Did you check the introductory videos? Look at least the “iPhone OS Programming Guide” and the “Cocoa Fundamentals Guide”.

Finally, get used to the Smalltalk-ish implementation of the C syntax. To say the least, it is cute.

ModBook: Stylus driven Tablet Mac with GPS, Camera

The ModBook from Axiotron uses Wacom-based touch screen technology. For about the price of a MacBookPro, cool gadget for geotagging (US & Canada currently).

gpsxd & gps2gex still make a good free choice on tracking apps.

bliin: mobile blogging ahead

Take pictures with your cell phone while geotagging them with the respective GPS coordinates. Upload for sharing with text, sounds and videos. If you got the compatible Nokia or Sony-Ericson model you can try it right now with Bliin.

Bliin uses the GeoTracing framework, covered in another post. Registered download a J2ME midlet to your phone or MacOSX and Windows desktops clients with Bluetooth GPS.

You can upload and share photos with the phone clients but not the desktop versions. In fact, the sharing, made through bliin.com/share and most of the features will “come soon”, the whole package is going through a public beta.

Blogs Mashup

After you upload your photos you can visualize them in a Google Maps screen (satellite, maps, hybrid) with a cool widget from zooming in/out, toggling map types and accessing your own stuff.

Bliin will show your location in a world map at the website along with other users and photos at their corresponding locations.

The phone client has a radar view that displays who’s around within a given range to feed into the social networking take.

MacOSX Client

If you want to try the Mac client first create an account at the website

It asks for your Bluetooth GPS. Turn Bluetooth on if it isn’t, search for the device and pair it up (you might need the passkey).

If you don’t have one around, check Semsons for Bluetooth models (pick one with Sirf Start III GPS chipset).

Bliin now sits at the menu bar as a task item.

If the color at the center is red it couldn’t login to the server.
Blinking green, GPS is working fine.

Check the PDF with more info on the color scheme.

The only thing that will happen is that you will be able to see your current location in the map.

So

For desktop usage because of the lack of support for photo (or text, sound) upload the package isn’t quite there just yet.

But if the target public are users of mobile phones which might take precedence in the implementation of feature set bliin promises a good punch (and you can upload photos right now).

First at Mashable.

Geotagging on MacOSX

This other post already covered a way for Windows users to go about geotagging photos. The idea is to write your position data to the JPEG header of a given photo. This is done by updating its EXIF header with dedicated packages. I first covered Geotagging and Exif headers here.

Until cameras equipped with GPS become affordable you can get the job done by combining the track log from a GPS receiver with software that can write the GPS coordinates (latitude, longitude, altitude) to the photos themselves.

For MacOS (something that I could’ve been using for a much longer time now if somehow one could just know better) there is GPSPhotoLinker and the useful port of GPSBabel+. Another option for editing exif headers is JetPhotoStudio but I haven’t tried it yet.

Hike Away

In the example below, I tracked a hike at Castle Rock State Park off Hwy 35, through Skyline Blvd. You can see part of the trail at this page of EveryTrail. Notice that if you go there during weekdays chances are that you will hear shots (more like explosions) from a close by gun range for most of the day.

But if you got your day-off anyway bring an iPod or something else to cover the noise and its echo rolling through the mountain range. I wish these guys could be forced into using silencers but for kids that didn’t outgrow their love for guns that seems to be the sole reason to play this game.

Tracking

But I digress… I forgot to turn the tracking on (but I did sync the camera and GPS receiver clocks this time) so the log only started from Goat Rock onwards. With the Magellan Explorer you only need to connect its USB cable and the storage area shows up as a storage device.

Notice that you will first need to save the Active Track in the Magellan. Also after making a copy delete it from the receiver, it takes a really long time to load the existing tracks after you have half a dozen of them laying around.

GPSBabel+ let you select from a whole range of devices (that you can have connected) or actual log files to full set of output formats including .gpx (GPX XML) which I choose in this case. At this point you can grab the photos you took at that the same time you had the GPS tracklog being recorded.

Exif Headers

With GPSPhotoLinker you can perform a batch processing of photos by having it reading data from the .gpx file and matching the timestamp of the photo with the closest position you had at or around that same time.

You can adjust the time of the photos in case they didn’t quite sync up as expected. In this case pay attention to the date/time format used in the .gpx file:


898.000000



Notice the Z at the end of the timestamp: 19:41:53.910Z

That indicates that this UTC time or Greenwich based so you need to adjust it based on your timezone. For PDT or Pacific Daylight Savings this means subtract 7 from it which matches the 14:41 pm time in the camera.

Panoramio & Google Earth

After loading the .gpx file, the photos you want to tag and adjusting or not the time in the photos you can choose Batch mode to have all photos processed at once.

Now you need to pick a site to upload your pictures and show them off. Panoramio has a snappy interface that allows you to write descriptions while pictures are being uploaded in background. Later you will be able to see the geotagged photos right at Google Earth.

NXT Software, a Philips company announced the availability of geotagging capabilities for cameras with GPS receivers. I posted about the cameras available currently in the market but they are a bit too expensive at this point. In a couple of quarters they will sure come down in price and the manual tagging of photos won’t be more necessary.

GPS for MacOSX: gpsdX and gps2geX

gps2geX uses data obtained from gpsdX daemon which connects to a GPS receiver over a serial port or Bluetooth to obtain valid location info.

With that you can open Google Earth and track your current position on a 3D map. The drawback is that you will need to have a working wireless connection for that. [Unless you work for Google and can take the bus from Los Gatos to Mountain View while playing with this.]

Install gpsdX first. Then gps2geX. You can download and install the beta version of Google Earth for MacOS from here.

If you have a Bluetooth receiver you first need to establish a partnership. Open the menu for Bluetooth and load the Bluetooth Setup Assistent which will look around for existing devices. Then open gpsdXConfig to select the GPS receiver. Now hit Select & Start, that wil create a script for the gpsd daemon process which will be updaded and restarted.

Now launch gps2geX. It will wait for a valid fix and let you select options about how you want to track its data. Hit Start gps2ge and wait for a good fix to be obtained.

When that happens you can launch Google Earth by clicking over the “open KML file in Google Earth” option, and track your position as long as you have a good working connection to the Net.