Mobile

Children’s PressLine - RSS and widget for S60

August 10th, 2008  |  Published in Development, Mobile, Nokia, Releases, S60, Thoughts

I’ve been doing some pro bono web work recently for Children’s Pressline, a youth news service that trains kids to be reporters and editors who write articles for mainstream media partners. It’s a non-profit open to any child in NYC, and currently their news stories are being run in the NY Daily News, Metro, and the Amsterdam News.

The work I’ve done involves some basic tweaks to their website, setting up a Children’s PressLine Facebook page and creating a Children’s PressLine RSS feed that shows you their latest stories and links to the major media outlet running the story.

There’s not a mobile website, but just by having an RSS feed, that’s all you really need to get started reading the content on your mobile. If you’re reading this on your S60 device, you can just click on the RSS feed, and automatically subscribe to the latest news articles.

If you’ve got one of the newer S60 devices, though, then you can get a richer experience using this widget I made which pulls in the RSS feed and displays the latest news stories directly on your phone.

S60 widget (WRT)

You can download the Children’s PressLine widget directly, or scan in this QR code to get it straight to your mobile:

Get the widget

Total development time for this widget was less than an hour, and most of that time was just deciding which colors to use in the CSS. If you haven’t seen the Nokia Web Run Time, then I’d recommend checking it out as it’s going to be a great way to build quick applications for S60 devices. Right now, it’s only drawback is that it has almost no access to the device itself (e.g. GPS, Contacts), but Nokia has already announced these features will be included in the next major release.

If you want to see the source code of the widget, then just download the file to your PC and change the file extension from .wgz to .zip. Then open the zip file and all of the source code is there. It’s a very simple setup with one HTML page, and one XMLHttpRequest call to retrieve the RSS feed.

Let me know if you have any questions about how the widget was built, and I’m also interested to see how other people are using widgets not just for their personal use, but also to help promote causes they believe in.

Google Maps blatantly copies Nokia Maps

August 7th, 2008  |  Published in Errata, Mobile, Nokia, Nseries, S60, Thoughts

So I’ve read a couple of articles lately about the new Google Maps that’s available for the Nokia N95. This is particularly exciting because they now offer Transit directions in some cities. Being able to get this type of information on your mobile is wonderful.

So I installed the app, and noticed that this updated version of Google Maps has a new icon. One that looks surprisingly like the Nokia Maps icon. Here’s some screenshots:

nokia maps icon Nokia Maps icon
old Google Maps icon (compass)
new Google Maps icon (ripoff)

I have a hard time believing that this new icon is just a coincidence… Thoughts? Is Google trying to intentionally confuse users so that they run Google Maps on their phones instead of Nokia Maps?

MobileCampSF - June 14th

June 6th, 2008  |  Published in Development, Errata, Mobile, Thoughts, mobilecampnyc

If you happen to be in the SF area on Saturday June 14th, be sure and check out MobileCampSF at the Swedish American Hall. If you’ve never been to a BarCamp before they’re lots of fun. It’s completely free, and as of this post, it’s already around 70% full so RSVP now if you’re going to come. I’m hoping to talk some about this simple little project I’ve been working on lately. If you want a sneak peek at it, just scan the QR code below. Otherwise, wait until after BarCamp when I’ll post a full writeup of the project.

qrcode

Chumby widgets on the Nokia N82

May 20th, 2008  |  Published in Development, Mobile, Nokia, Nseries, S60

So I recently purchased a Chumby. According to UPS, it’s on its way here, and in anticipation of its arrival I’ve started reading about how to make your own Chumby widgets. Turns out, the widgets are all just 320×240 FlashLite 3.0 movies.

This is wonderful news.

Why? Because my phone also runs Flash Lite 3.0. So now if I’m going to go to the trouble to make a Chumby widget, I can design it to work on the Chumby and on my Nokia device. As a quick test, I grabbed some of the existing Chumby widgets and tried to see if they would run on an N82.

Out of the box, two widgets worked great — the MTV News widget and the Chuck Norris Facts widget. Some of the other widgets like weather and NY Times launched correctly, but I need to pass them some configuration details so they know what content to download from the web. That’s the next step.

Bottom line is that if you have an Nseries device that runs FlashLite 3.0, then check out Chumby as a source for games and things that you can load straight on your device. And in case you need proof, here’s Chuck Norris Facts running on an N82.

Yeah, yeah the video is kind of fuzzy, so here’s what it looks like on a real Chumby.

Nseries Workshop - good stuff for your N95

January 10th, 2008  |  Published in Development, Mobile, Nokia, Nseries, S60, Thoughts

I noticed over on Nseries.com that they have a new section of the site with a lot of articles about how to do cool things with your N95.

So I made a Google Gadget for it.

Non-Google users can just grab the RSS feed here, but Google users can just click here to add it to their iGoogle webpage.

Here’s a preview of what you’ll get.

 

 

Android Development - How to add a new contact, phone and email with the Contacts ContentProvider

December 21st, 2007  |  Published in Android, Development, Mobile, Thoughts

I’ve been dabbling lately with Google’s Android platform for mobile development. While there aren’t any announced devices for the marketplace yet, it’s an extremely open platform, and one of the simplest mobile platforms to develop for that I’ve encountered.

The Android SDK still isn’t “officially” released yet, which means there are lots of undocumented quirks in the system and a few inconsistencies. Some of them you can figure out through trial and error. Some are just annoying. I recently managed to triumph over one of these quirks and thought I would share the fruits of that labor. In this case, it’s specifically how to add a contact, phone and email address into the built-in Address Book using Google’s Contacts ContentProvider.

Let’s start by adding a new person to the address book. Just a name and nothing else.

// create a new name
ContentValues values = new ContentValues();
values.put(Contacts.People.NAME, "Test Name");
// add it to the database
ContentURI newPerson = getContentResolver().insert(Contacts.People.CONTENT_URI, values);

The newPerson ContentURI that’s returned by the insert() call is null if something went wrong. If it’s not null, then it might look something like this
content://contacts/people/1
where the number 1 indicates the new ID of the person you just created.

If you don’t get back an ID number, then you can’t proceed, but assuming all went well, then you can use that new ID number to add other information to the existing record. For example, to add a phone number:

// assign the new phone number to the person
values.clear();
values.put(Contacts.Phones.PERSON_ID, newPerson.getPathLeaf());
values.put(Contacts.Phones.NUMBER, "(800) 466-4411");
// insert the new phone number in the database
getContentResolver().insert(Contacts.Phones.CONTENT_URI, values);

and to add an email address:

// assign an email address for this person
values.clear();
values.put(Contacts.ContactMethods.PERSON_ID, newPerson.getPathLeaf());
values.put(Contacts.ContactMethods.KIND, Contacts.ContactMethods.EMAIL_KIND);
values.put(Contacts.ContactMethods.TYPE,Contacts.ContactMethods.EMAIL_KIND_HOME_TYPE);
values.put(Contacts.ContactMethods.DATA, "test@test.com");
// insert the new email address in the database
getContentResolver().insert(newPerson.addPath(Contacts.ContactMethods.CONTENT_URI.getPath()), values);

Adding an email is tricky because it’s doesn’t match the same coding convention as adding a new contact or adding a new phone number. To make matters worse, this mismatch/inconsistency is not documented well in the existing docs, so it required a lot of trial and error to figure out how to do this without causing an internal error in the emulator.

Essentially, the issue is that for contacts and phone numbers you can use a ContentURI like this:
content://contacts/people
content://contacts/phones

to retrieve existing records or to add new records to the system.

However, for emails this is not the case. For emails, you have to use different URIs for each function, specifically:
retrieve emails - content://contacts/contact_methods
insert new emails - content://contacts/people/1/contact_methods
where the number 1 is the ID of the person you want to add the emails for.

I’m sure this will become documented more clearly as Android starts reaching a wider developer community. Until then, hopefully these code snippets will save some time for those Android developers struggling to get their apps finished before the March 2nd deadline for Google’s $25,000 Android competition.

Have fun coding.

Google’s Holiday Gift - Flip Video

December 17th, 2007  |  Published in Errata, Mobile, Thoughts

Looks like I’ve climbed out of the lower echelons of tech blogging, and apparently am important enough now to get free things in the mail. Who knew? Today in the office I got a package from Google. I was *hoping* it was an Android prototype so I could actually test my applications with a real device, but instead it was a Google branded Flip Video Ultra!

I guess I’m supposed to act like a real tech blog now, so here’s a video of the unboxing:

The device is pretty nice. It’s straight forward and very intuitive to use. It runs off two AA batteries (included), and it takes 640×480 video, encoded with 3ivx MP4. The device holds about 30 minutes of video and just plugs into your USB port.

I haven’t spent much time with the included software, but I subjected one of my co-workers to be my test subject. Here’s the result:

The quality of the original video is pretty good, but when I uploaded it to YouTube, it got turned into mush and doesn’t look nearly as crisp or nice. Maybe I’ll try uploading it elsewhere and see if the compression gets any better. Or I’ll just play around it with over the holidays and see what I come up with.

Anyway, they sell these on Flip’s site, but they cost much less at Amazon.com. Exact price depends on the color and recording capacity you want, but in the US that range is from $129-$153.

Anyway, thanks Google! Happy Holidays!

Nokia N95 apps show how easily it trumps iPhone

December 10th, 2007  |  Published in Development, Mobile, Nokia, Nseries, S60

Today I was downloading the new Channels Media Service application from Nokia Beta Labs to test it out and see what it has to offer. The interface is pretty clean, but one of the nicest things I noticed is that Channels makes use of the N95’s built in accelerometer. I recently showed you the Lightsaber demo, but Channels automatically orients the UI based on how you’re holding the device, similar to what Apple always shows off in their iPhone commercial. Here’s a demo of it in action.

When the N95 came out it didn’t have this functionality. In fact, it didn’t even talk about the accelerometer. But you know what? Nokia is slowly releasing software updates for this device, and they’re slowly showing people more and more things that can be done with this device. Every time there’s a new firmware update or I find a cool new application, it’s like getting a whole new phone. And I’m just not seeing that with the iPhone. Web apps? Yeah, they’re okay and can be helpful, but they’re more like widgets that sit on top of an internet connection rather than something that truly integrates with the device. The N95 is showing me more and more that it’s retaining its value over time, whereas the iPhone price drop just says that it was overpriced to begin with.

Using the accelerometer in the N95

November 30th, 2007  |  Published in Development, Mobile, Nokia, Nseries, S60

Nokia Research has some sample software and plugins that you can use to capture raw data from the accelerometer found in the N95.

Accelero what with the wha? Let’s just say it detects the motion of your phone and that allows people to make applications like Lightsaber! Easily turn your N95 into a lightsaber. Check out this really rough video I made demonstrating it.

Zxing - Open source Google bar code reader officially launched

November 19th, 2007  |  Published in Development, Mobile, mobilecampnyc

There was a nice comment posted tonight from the software engineer at Google who’s helping put together ZXing for Android. The good news is that the project has officially launched and you can read about it and download the 0.1 version here:

http://code.google.com/p/zxing/

Also, note that they’ve set up a Google Group for ZXing, so that seems like the best place to continue the discussion….