Hi! Thanks for visiting my blog. If you've received any value from my content would you mind supporting my new startup by downloading our browser add-on? It's called PriceBlink and makes online shopping a breeze. You can watch it in action here and download it for Chrome, Firefox, IE, or Safari by going to PriceBlink.com. Thank you and I hope you enjoy!

Panning Google Maps with Flex

Oct 18

The more I experiment with using Google Maps in a div layer beneath Flex the more I think it’s a viable solution. There are still several things that need to be tested such as using fscommand instead of getURL(“javascript:myFunction”); to communicate between Flex and Google Maps.

The main issue I’m going to focus on next is dynamically sizing the map so that it fits nicely within it’s container. An end user can resize the browser window as well as drag the horizontal pane bar and the map should resize accordingly. Right now it’s static, but I’m hoping to get that fixed later this week. You can check out the latest here:

http://www.db75.com/dev/gmaps/flex_gmaps2.htm

You’ll notice a selection in the grid will trigger a recentering of the map.

Read More

Flex and Google Maps Integration

Oct 16

I’m currently involved with a project where Google Maps needs to be integrated with Flex. While this souds like a trivial task if you’re familiar with both technologies you’ll know that they don’t play nicely with each other.

What we recently concluded is that we should port Google’s API to Flex so that the functionality could live entirely in Flex. After doing a good amount of research and reverse engineering this weekend I’ve come to the conclusion that this is a rather complicated task. It’s not necessarily the code that’s the problem, but getting an understanding of how Google handles converting lat/lons and linking them to tiles. Google’s maps are tiled and some sort of algorithm is used to get the default tile based on location and build the map around it. There are all sorts of blog posts discussing how this was accomplished with older versions of the API. The problem is that several versions later Google has taken a different approach.

While I’m not completing giving up I’m going to research a different approach that consists of using a transparent background in Flash. This will allow the map div layer to show through as though it were actually inside the Flash content. The layer can be hidden and shown as necessary. You can see an example of it here:

http://www.db75.com/dev/gmaps/flex_gmaps.htm

This hasn’t been thoroughly tested and I’m currently going through the cycles of testing a few things. Yet if this does work without any major issues this means we can leverage the Google API and not have to spend a lot of time rewriting in Flex. I’ll continue to post any future findings here.

Read More

Yet Another BlueGPS Update

Oct 13

I’ve been pretty swamped lately and want to apologize to those who are waiting for the J2ME version of BlueGPS. I’ve been sitting on it and want to release it ASAP. I’ve decided to allow data to only be uploaded to my server for now and will extend this functionality later. The main dilemma I’m dealing with is uniquely identifying the device.

In the Symbian version of BlueGPS I require the user to enter their IMEI number when they create an account. You can retrieve this on your Symbian device by entering *#06#. When BlueGPS uploads data it sends the IMEI along with the request and that’s how I link your location data with your device.

It’s frustrating that J2ME does not give the developer access to this information so I’m working on another approach. This is crazy because even Flash Lite gives us access through a simple call: FSCommand2(“GetDeviceID”, “id”);. This is the method I use in the daylite app that I wrote a while back. At any rate, I’ll get this issue resolved and promise to release the BlueGPS beta shortly.

Read More

Syndicate Your Device’s Content

Oct 08

At SensorLogic I spend a lot of time debating which user interface elements are right for certain tasks. I’m generally of the mindset “don’t reinvent the wheel” and leverage paradigms that already exist. While this doesn’t always apply, I think for 95% of the cases somebody’s already solved the problem and they’ve paid BIG BUCKS to do it. Take Apple and Microsoft for example, they both have interface guidelines for developer’s to adhere to. If you use either one of these operating systems you can either agreee or disagree with their approaches. Just be sure that they didn’t just bang something out and put it on the market.

That’s kind of a long introduction to get to the point I’m trying to make. I’ve been working hard to think outside of the box lately. At SensorLogic we work extremely hard to provide a platform to remotely monitor and control devices. The monitoring part is difficult because I truly believe there’s not a “one size fits all” solution. While I know for a fact that we have one of the best M2M UI’s in the marketplace, I know we can do more with it. The user interface is one of my responsibilities and this is a post to start a new way of thinking.

My thoughts lend more towards a consumer and small business experience while the company focus is mainly on the enterprise right now. With that being said, I think these ideas might be leveraged across the board. The question is “how are devices any different than humans?”. Of course there are a million answers to this question, but to sum my answer up, “they aren’t”. I’m speaking from the perspective of interactions on the web, not daily human behavior. A human can blog, so why can’t a device? I can syndicate content from John Gruber, why can’t I syndicate content from my device? I can IM with friends, why can’t I IM with devices?

So I’m going to start off with the syndication example and will be covering the other ideas in future posts. If you take a look at one of the screens from the SensorLogic platform you can see the telemetry device overview. Think of this telemetry device as the energy meter sitting on the side of your house:

You can see that this device has quite a few sensors that tell you usage, status, etc. Since SensorLogic provides a suite of Web services I decided the next logical step was to provide this data in an RSS feed for consumption. Using a little bit of ColdFusion magic I was able to get this data into RSS format in a matter of minutes (approx 30). You can see the output below. I’ve truncated the data just to keep it concise.

With a minimal amount of work I had an example up and running. I’m going to forget about the authentication piece right now since that will be something that needs to be resolved in the coming weeks. For know let’s just assume everyone has permission to view my energy meter’s data.

The next step was to grab an RSS reader and see if the feed was usable. I use Sage for Firefox, but any RSS 2.0 reader should work. After entering the RSS feed URL and loading it you can see the results below.

So now I have a quick summary of my device information and can set the RSS reader to check for updates on regular intervals. It would be nice to implement some sort of push functionality, but that’s a completely different discussion. Any of the sensor links in the RSS feed can be clicked and for the purposes of this example you’re taken directly to the SensorLogic UI.

You can now see a summary for Average Usage over a given period. This could ultimately link to any interface specific to the application. My ultimate vision is to have a home portal that brings all of my devices and appliances together in a simple interface or multiple interfaces. I haven’t thought this process entirely through yet, but it seems that there’s potential by preventing users from being disrupted from their normal workflow. Users generally don’t want to deal with a new interface and different approach (ie 6 different remote controls in the living room) unless it’s extremely simple. I’ll have more ideas later and please reply if you think I’m on crack again.

Read More

GasBum 1.0 on Download.com

Oct 06

I’ve received a decent amount of feedback about being able to download GasBum without having to give away your email address to some guy you’ve never met. This seems to be a reasonable request so I’ve placed the app on download.com where you can grab it without providing any information:

http://www.download.com/GasBum/3000-11138_4-10434792.html

Yes you’re beating the system, but you might lag when it comes to updates. Your email address will only be used to notify you of software updates and any new products that I might end up developing. So feel free to give it up sooner or later!

Read More