Category Archives: hackathon

The Digital Transparency Index

Now that RepresentedBy has launched, I’ve had a little bit of free time to turn my attention back to my last post about digital transparency.

To help keep the conversation going about digital transparency, I’ve setup a website dedicated to the work around the Digital Transparency Index. The goal of this site is to act as one way of measuring online activity and transparency with legislators, and by providing the data in an open format, allow others to mash it up with their data and observe trends in Congress.

It’s still a work in progress (is anything finished these days?), but check it out and let me know what you think.

http://digitaltransparency.appspot.com

Current Digital Transparency Index for Congress

MobileCampNYC3

MobileCampNYC3 is happening on November 15th here in NYC. It’s going to be a good time, but space is limited, so if you’re interested in attending, check out the signup page for more information:

http://barcamp.org/MobileCampNYC3

If you’ve never been to a BarCamp before, they’re lots of fun — check out some pics from MobileCampNYC and MobileCampNYC2.

DSC_0242

Running OpenTape on my Nokia N95

I always liked the website Muxtape, and right around the time that the site went offline, a group launched an open source web application that allows you to run and share a mix tape on your own server. It’s called OpenTape, and while the idea is similar, they are NOT related to Muxtape.

OpenTape is amazingly easy to use. Just download the files, unzip, and upload them to your own webserver. From there you can use the web interface to set up and configure the mix tape you want to share.

But what I want to know is can I run OpenTape on my mobile phone? Specifically, my N95? If you want to try this yourself, here are the steps.

  1. Register and install the Mobile Web Server to your S60 compatible device.
  2. Download and install the PAMP package for S60 and install it on your compatible device.
  3. Download OpenTape and copy it to the htdocs folder of your Mobile Web Server installation.

Once that’s done, just go to the directory on your webserver, and voila, it works!

Notice that the URL is actually from my Mobile web site…

Once I set up the password, then it was still working just fine.

And after I added songs, i thought it was looking so good.

But then it never displayed any of my songs. Hmmm…

Not to give in so quickly, I started digging through the source code, and it turns out that the problem might be with the PHP package on my mobile. First, the /code/xspf.php XML file wasn’t returning any tracks even though they were uploaded in the folder and the permissions were set correctly. Digging further, it looks like the code is using an ID3 library to read all of the metadata about the Mp3 files, so maybe that’s not included in the PAMP package?

Anyway, I’m so close, but I’ll keep looking into this and see what kind of fix I can come up with.

Children’s PressLine – RSS and widget for S60

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.

Product Idea – Embed a digital camera in your digital picture frame

Meta photo of a photo frame?

Digital Picture Frames are becoming more ubiquitous, and I was thinking it would be great if picture frames also had a camera lens embedded in the back. That way, not only could you look at photo galleries, you could also pick up the entire picture frame and have it act as the viewfinder of a camera. Click a button, and voila! The image would be saved automatically onto the picture frame (or into the cloud).

It’s a little meta I know, but it would work so well for family photo albums over time.

TodayFeels.com

TodayFeels.com is a little website I’ve been putting together in my off hours and will be talking about in more detail today at MobileCampSF2. It’s a site that gives you a weather forecast relative to what it felt like the day before. So instead of just telling you highs and lows and the percentage chance it might rain, it says that today “is going to be a little warmer than yesterday” or that it’s “going to be wetter and colder than yesterday”. The idea is to create something more human and personal to you and your experience.

The site is still in early development, but check it out and let me know what you think. The biggest issue most people will encounter is that it might not work in your area. Right now, the service only covers about 25% of the zip codes in the United States, so if you’re international or in an area not supported, send me feedback with the area you’d like to see included. Eventually, the service will expand to the rest of the US and beyond, but if you ask for coverage in your area, I’ll be sure to give that top priority.

Text TODAYFEELS to 41411

In addition, to the website, there are several other ways you can use Todayfeels.com, including:

  • text ‘TODAYFEELS’ to 41411. You can also include your zip code as well to get an immediate response back. For instance, sending ‘TODAYFEELS 94114′ to 41411 will tell you how today feels in San Francisco.
  • for newer Nseries/S60 phones, you can download a widget (requires WRT)
  • add it to your iGoogle page
  • add it to your NetVibes page
  • if you have some other widget, blog or place you’d like to include TodayFeels, let me know and I’ll see what I can do there as well.

Next Steps

I’m going to keep adding functionality to the site, based a large part on user feedback. Also, it’s pretty obvious I’m not a designer, so any design contributions are completely welcome! Finally, I wanted to give an API Shout Out to the open source libraries and free web services on which TodayFeels.com is built, specifically:

MobileCampSF – June 14th

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

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.

Yelp Mobile mashed up with Google Maps

I’m a big fan of Yelp.com because of the richness of information plus the fact that they do a pretty good job of keeping it real and not getting bogged down with shills. Yelp also has a great mobile site that allows you to search through their listings and find something directly from your mobile phone. This service is particularly useful when you’re out and about in an unfamiliar area and need to find a good place nearby.

So I made this mashup. You can play with it here. Here’s a pic.

Yelp and Google Maps

The idea is that you can drag around the Google Map, and then when you click on a location, it will generate a QR code for Yelp’s website which allows you to see what kind of restaurants and nightlife are around that exact point on the map. Pretty cool, right?

In order to make this happen, there’s a lot of web services going on in the background. First, there’s the Google Map. Pretty basic and well documented. Once you click an overlay though, Google only gives you latitude and longitude of the point, but not an address. So I found this great Google Reverse Geocoder online and am using that to convert the lat/lon into a street address.

From there, you can build the URL for mobile.yelp.com, but it ends up being a VERY long URL and consequently, the bar code gets to be gigantic. So once I have the long URL then I’m sending it off to tinyurl.com to shrink it down. Finally, you take the tinyurl and generate the bar code using Kaywa.com.

Four web services, all done with a few lines of Javascript. If you look at the demo, then all of the source code can be seen there.

Add a mobile bar code to your WordPress blog

For a while now I’ve been using Alex King’s WordPress Mobile Edition theme/plugin to allow users of mobile devices to easily see and read wubbahed.com. But sometimes it can be a pain to type in URLs into your device, so I just added a new bar code in the sidebar of this blog to make it easier for you to automatically view this page on your mobile device.

Writing the code for this was pretty easy and took about two minutes. First I did this in Javascript, so you don’t even need to do any PHP programming with WordPress. All you have to do is take the URL for the current page:

location.href

and then combine it with your preferred online bar code generator. Then you can just cut and paste that into your template’s sidebar or wherever else you want. Here’s a few samples for you that you can cut and paste.

1. Nokia Mobile Codes

<script type="text/javascript">
var barcodeimg = '<img src="http://mobilecodes.nokia.com/dm?BARCODE=' + escape(location.href) + '&X=0.18&name=&type=link&MODE=TEXT&a=view" alt="" />';
document.write(barcodeimg);
</script>

2. Kaywa Data Matrix

<script type="text/javascript">
var barcodeimg = '<img src="http://datamatrix.kaywa.com/img.php?s=6&d=' + escape(location.href) + '" alt="datamatrix" />';
document.write(barcodeimg);
</script>

3. Kaywa QR Code

<script type="text/javascript">
var barcodeimg = '<img src="http://qrcode.kaywa.com/img.php?s=6&d=' + escape(location.href) + '" alt="qr code" />';
document.write(barcodeimg);
</script>