Posts Tagged ‘api’

It Ain’t Easy To Get A Newspaper To Provide Useful Data (TechDirt)

Thursday, December 11th, 2008

[Editor's note: Interesting take on getting old media to get data friendly and generous: seeing the "value of data in addition to straight reporting, and the concept of openness compared to being a gatekeeper." Thanks Katharine!]

Republished from TechDirt. From the not-their-thing dept.

We’ve discussed in the past the idea that newspapers today need to get beyond reporting the news and also move towards opening up their data such that others can make that data useful. Newspapers have access to all sorts of interesting and useful data — but traditionally, they’ve hoarded it and only used it as a resource for editors and reporters in creating stories. However, by opening up that data to others, it could make those news organizations much more valuable. We’re seeing some movement in that direction, and recently noted that the NY Times had come out with an API for the campaign finance data it had. 

However, one thing that seems clear is that very few newspapers have the resources necessary to do this on a regular basis. The NY Times (and, to some extent, the Washington Post) seems to be willing to invest in this area, but for many newspapers, the entire concept seems foreign. Writing for OJR, Eric Ulken from the LA Times discusses how much effort it took to get the necessary resources just to build a homicide map to go along with a blogthat planned to chronicle every homicide in the LA area. If Ulken’s experience is any indication, it seems pretty clear that very, very few traditional news organizations are going to be able to pull this off. They’re just not set up to do such things. 

It seems increasingly clear that these types of innovations are more likely to come from newer news organizations who actually recognize the value of data in addition to straight reporting, and the concept of openness compared to being a gatekeeper.

Want to track Adobe Flash? Now you can! (Google)

Monday, November 24th, 2008

[Editor's note: Google releases AS3 classes and components for Flash and Flex IDEs to allow easy and professional tracking within SWF files at the same level of service as the earlier Javascript based tracking code base for normal HTML pages. Better understand how your Flash movies are actually used.]

Republished from Google.com, original 17 Nov. 2008.

Image of Analytics Flash Visual Component in Flash CS3

Today, at the Adobe MAX Conference in San Francisco, in a joint collaboration with our friends at Adobe and a few ace third party developers, we announced a simplified solution for tracking Flash content for everyone, called Google Analytics Tracking For Adobe Flash.

Working at Google over the past couple of years, I’ve had the opportunity to work with with many of our top clients to implement Google Analytics, who have found the power to identify and analyze trends on their web sites highly useful. But, one of the most common implementation challenges has been tracking Flash content on their pages. In the past, Flash tracking was not provided out of the box, and every implementation had to be customized. Moreover, there was a lack of standards, and new developers who tracked Flash had to create their own processes to get it working. With this launch, tracking your Flash content has never been simpler.

What It’s All About
This feature is a translation of the current Google Analytics tracking code into the ActionScript 3 programming language that dramatically simplifies the ability to track Flash, Flex and AS3 content. This new Flash tracking code provides all the rich features of the current JavaScript-based version, including campaign, pageview and event tracking and can be used to track Flash content such as embedded videos, branded microsites and distributed widgets, such as online games.

Now it’s simple for Flash content developers to answer questions like:

  • How many people have watched my video?
  • Are we developing the right creative that attracts new users?
  • How effective is my content at getting people to take action?
Recently, we talked with Matthew McNeely, VP of Engineering at Sprout, a company that helps advertisers design rich media content, about how Sprout has used the code to track distributed content across MySpace and iGoogle:

Supported Platforms
We know there are many levels of experience in the Flash/Flex community so we tried to make it easy for both non-technical designers as well as seasoned ActionScript programmers to take full advantage of this Google Analytics Tracking For Flash. We’ve provided tracking libraries for both Flash and Flex which can be downloaded as a ZIP file here. The libraries include:

  • Flash visual component
  • Flash AS3 library
  • Flex MXML component
  • Flex AS3 library

And you can learn more about how to use them through this developer documentation.

Open Development
At the same time, we know that things change quickly online, and developers might want to review and improve the code. So we’re providing our entire AS3 code base under the Apache 2 License as Open Source, available here.

For me, this is one of the most exciting aspects of this project. If you are a developer and want to improve the code’s functionality, you can contribute to the code base. Or, if you are a company that is running a content platform, such as Sprout mentioned above, you can seamlessly integrate the Flash tracking codebase into your existing architecture.

So while many features get launched at the end of their development cycle, we see this as just the beginning.

And A Special Thanks
This feature has been an open collaboration of a number of very talented people across the globe. We’d like to personally thank our amazing third party developers Zwetan Kjukov and Marc Alcaraz who’ve spent countless hours developing the code base. We’d also like to thank Matt Chotin, Puneet Goel, Rani Kumar and Ajit Gosavi from Adobe who helped us also overcome the obstacles of migrating to an all-AS3 environment.

So please visit the project page to learn more:
http://code.google.com/p/gaforflash/

We look forward to hearing success stories about how you’ve implemented Google Analytics Tracking For Adobe Flash!

ArcGIS Online Services—The Foundation of Web GIS (ESRI)

Thursday, November 13th, 2008

[Editor's note: 1 of 2 articles of note from the Fall 2008 ESRI ArcNews magazine. This about new ArcGIS online services, eg personal "Google maps" style mashups, and pricing.]

Republished from ESRI ArcNews.

Highlights

  • ArcGIS Online premium services are now available.
  • Leverage ArcGIS Online services and ArcGIS APIs in mashups.
  • Use ArcGIS Online content locally via ArcGIS Data Appliance and DataDoors for ArcGIS.

In the past few years, the Web has greatly facilitated the dissemination and sharing of GIS capabilities, leading to the new term Web GIS. This reflects the growing use of the Web as a platform that supports authoring geoprocessing models and maps, then publishing them as services that can be easily consumed by a variety of client applications. Ad hoc consumption of multiple data sources and distributed services makes it easier to find and use geographic information, as well as share it with other GIS professionals, customers, constituents, and the public.

click to enlarge Users can add their own GIS layers to Virtual Earth basemaps.

As an emerging dominant platform for both social and business-driven interaction, Web GIS merges (or mashes up) authoritative content with user-generated content to deliver location-based information and applications to a broader audience. Consumers can view a map showing the locations of gas stations with the lowest prices or analyze the impact a wildfire might have on their home and property. Emergency response officials can use that same wildfire map and add their own data on top of it to analyze how to plan and respond to a worst-case scenario, including routing personnel and equipment and devising evacuation routes for the populations at risk. Local governments can now provide information to their constituents in a more timely and cost-effective manner via the Web, allowing them, for example, to browse homeownership information or parcel records online or inform residents about upcoming street maintenance projects that will impact neighborhood traffic. Common to all these examples is the need for ready-to-use, current, and accurate basemap data that sometimes has to be available on short notice and onto which proprietary data can be easily overlaid, or mashed up, in order to provide information in a useful and meaningful context.

ArcGIS Online Services, powered by ArcGIS Server, can be crawled, indexed, searched, and used to share information and provide analytic capabilities to a broader audience over the Web or a network in the most effective manner. Developers who want to serve live, dynamic mapping applications over the Web can easily implement ArcGIS Online. For example, a viewer application, such as the one featured in the ArcGIS Online Services Resource Center (resources.esri.com/arcgisonlineservices) can be built quickly using the ArcGIS APIs for JavaScript. Users can also add additional content, such as photos or video and sound files.

In-depth description of the online map services, resolutions, coverage and podcasts on the next page…

click to enlarge

(more…)

CrimeReports.com Mashup

Wednesday, October 29th, 2008

I came across this nifty professional mashup while looking up a council resolution on my city’s website. CrimeReports.com works with police departments across the US to aggregate crime reports. Please note they only show crimes for the jurisdictions that are subscribed to this service (so in my case the county police reports are showing, but that doesn’t cover all crimes committed in my city). You can even get customized “Crime Alerts” for your neighborhood. They have neat filtering options for Sorting the crimes, Filtering by Date range, and some Location options. Their interface for this the best designed, most compact I’ve seen. Overlapping markers are merged into a marker set. The mashup response is fairly quick, especially considering this is done in the Google Maps JavaScript API. They also have nifty analysis charting options to see trends in the data.

View the mashup at CrimeReports.com . . .

Yahoo Woe (Where On Earth, that is) IDs (GeoBloggers)

Tuesday, October 21st, 2008

[Editor's note: Continuing to work thru a backlog of noteable but past news... I like how this API defines a placename's location in a bounding box instead of a centroid. Wish it were both, but the bounding box seems more relevant (as a center point can be extracted, and you get the benefit of scale).]

Republished from GeoBloggers.com. Posted on by Reverend Dan Catt

Roll up, roll up, roll up, get your WoE IDs here …

http://developer.yahoo.com/geo/

… a jolly nice step in the right direction.

Yahoo have opened up their geo database (which is pretty good btw) which is far more awesome than I’m going to make it sound in this blog post. I already did a little bit back here. But a quick call out to these two functions that’ll try and find you WoE IDs based on string input…

… the first API call gives, 36240 as the value for Stoke on Trent in the UK, my old hometown. With that WoeID I can plug it back into these other API calls to get various useful information back …

We use WoE IDs over at Flickr, again you can read a little more about that near the end my terribly long previous blog posts about twitter, APIs and such like. A quick recap is that we have these WoE related APIs …

The ones that probably compliments the APIs over at developer.yahoo.com/geo are flickr.places.findByLatLon, which will turn a Lat/Long into what Flickr believes is there, more on this in a second.

And flickr.places.resolvePlaceId, if you plug the value of 36240 into the API explorer there you’ll get this xml back …

<rsp stat="ok">
	<location name="Stoke on Trent" woeid="36240" place_id="gEXCB1iaB571gw" place_url="/United+Kingdom/England/Stoke+on+Trent">
		<locality place_id="gEXCB1iaB571gw" woeid="36240">Stoke on Trent</locality>
		<county place_id="B_K1Z7iYA5qfCIiHaw" woeid="12602189">Staffordshire</county>
		<region place_id="pn4MsiGbBZlXeplyXg" woeid="24554868">England</region>
		<country place_id="DevLebebApj4RVbtaQ" woeid="23424975">United Kingdom</country>
	</location>
</rsp>

Where you can see the same woeid, the URL to get to the Places page for Stoke on Trent, and the parent hierarchy flickr uses.

You can also plug the woeid into the flickr.photos.search to get photos back for just that area. A quick example of why that is useful is California, there’s no way you’d want to find photos for California using the bounding box, as it covers a couple of other states …

… but instead you can use the woeID for California (2347563) which deals with all the bends and kinks of CA. You can also throw that ID into the Places URL, like this … http://www.flickr.com/places/2347563, although you’ll probably want to pass that through flickr.places.resolvePlaceId first if you want a pretty URL.

Differences between Yahoo geo API stuff and Flickr

Over at Flickr, we only use specific ‘levels’ of geo information, such as city, region, state, country, while the APIs over at Yahoo will spit out far more levels in-between the ones Flickr uses, as well as deeper down to neighborhood levels, which Flickr doesn’t do (yet).

Just because you get a WoeID back from Yahoo, doesn’t mean we’ll have photos for that specific area, we’ll probably bounce you up to the next largest places we deal with. So our parent hierarchy will have less steps in it that the ones you get back from Yahoo’s geo stuff. It also means our find by lat/long will only go down to town/city level and not precise neighborhood level.

We also don’t do photos or Places pages for Landmark WoeIDs, taking their example of Sydney Opera House which gives you an ID of 28717584 and throwing that at Places will give you no photos (maybe one day), although you can bounce up to Sydney.

Anyway, it goes beyond photos at Flickr, it’s just a really useful way that you, a developer can key off an ID for a place, that someone else, somewhere else can also key off.

If you use the ID 2347563 for California, and they use the ID 2347563 for California. And one, or both of you, publish your information with that ID, then you, they, or other people know that you’re both talking about the same place and match that data up.

Which is nice.

[Update 1: If you’re coming here from the CNET news article my talk isn’t actually about the location platform, its about Flickr photos and location :)]

[Update 2: For more official stuff about the Location Platform, you should probably see the Yahoo Local & Maps Blog post Abstracting Spatial Relationships with the Yahoo! Internet Location Platform where they use phrases such as “unambiguously”, “permanent” and “language-neutral”, and sum everything up far better than I]

[Update 3: and if you haven’t yet checked it out, I still think its worth reading my blog post “Twitter API updates, FireEagle and new Flickr API fun” as an example of what to do with woe IDs]

ALSO from Read Write Web.

Yahoo! today [in May] released a developer preview of its Yahoo! Internet Location Platform, a collection of in-depth geo-location based APIs. We expect to see location be more smartly used in many applications around the web thanks to this platform.

The gist of what’s being enabled is this: applications can provide the name of one location and then the Yahoo! APIs will report neighboring and “parent” locations. Flickr developer and map lover Dan Catt articulates the potential power of the API very well in a blog post today.

A lot of Ground Covered

Yahoo! explains the breadth and depth of location data it now offers thusly: “The [Platform] contains about six million places. Coverage varies from country-to-country but globally includes several hundred thousand unique administrative areas with half a million variant names; several thousand historical administrative areas; over two million unique settlements and suburbs, and two-and-a-half million unique postcode points covering about 150 countries, plus a significant number of points of interest, Colloquial Regions, Area Codes, Time Zones, and Islands.”

Geolocation is Hot Everywhere

Geolocation is hot, a number of new projects are underway to leverage increasingly sophisticated geographic knowledge to deliver value to end users. See our coverage of Brightkite and of Yahoo!’s own excellent FireEagle, for example.

Flickr developer Catt explains, for example, that Flickr could use the new APIs to offer images of nearby photos on several different levels, with accuracy as granular as Flickr is able to output.

There are a lot of interesting possibilities, not just for mapping but for services that are map aware. What would you like to see turned geo-smart? We’re excited to see what developers come up with. We probably won’t have to wait for long, either, since the Platform was released the day before O’Reilly’s Where 2.0 conference begins in Burlingame, California. Keep your eyes peeled for location savvy apps this week!

GBIF data heat maps – Heat maps over Google Maps for Flash (Biodivertido)

Wednesday, September 3rd, 2008

[Editor’s note: Fascinating proof-of-concept for how to create and display heat-maps in Google Maps for Flash/Flex AS3 using PHP back-end for calculation and Flash for front-end. More information for using Google Maps in Flash CS3 download and reference and tutorial. Similar to some nifty work Zach Johnson is working up at Universal Mind for spatialkey.com.]

Reprinted from Biodivertido.

Maps like everything else seems to be trendy. And nowadays the sexy thing in mapping is the creation of Heat Maps. The best way to understand what they are is to see them:

You can also take a look at this post from one of my favorite blogs on what is and what is not a heat map.
Well for long time I wanted to give it a try and yesterday I had the time to experiment a bit. The idea was to display GBIF available data as a Heat Map over Google Maps. Here you have an screenshot for Quercus ilex:
And if you want to try for yourself here it is (some usability issue, the search box is on the bottom right corner):
So how does it work? It was actually easier than I expected:
1) Get the data: I am using the so called “Density tables” from GBIF. You can access them through GBIF web services API at http://es.mirror.gbif.org/ws/rest/density . For example in a query like this one for Quercus ilex (of course you need to get the taxonconceptkey from a previous request to the services): 
This works fine but has some problems. The first one is that GBIF goes down almost every evening. Tim can maybe explain why. Thats why I am using the spanish mirror (look at the url) and I recommend you to do the same.
Second problem is the verbosity of the XML schema being used. For downloading the Animalia, well thats the biggest concept you can get probably, the result is 14.1 MB of XML. And thats just to get a list of cellIds (if anybody is interested we can post details about CellIds) with counts on them, exactly an array of 34,871 numbers. Even worst is handling them on a web client like this one, parsing such a huge xml output kills the browser. The GBIF webservices API deserve its own blog post I would say together with Tim.
But what is new is that I have supercow powers on GBIF :D I am working for GBIF right now and have access to a test database. In a testing environment I developed a little server app that publish the same density service but using theAMF protocol. I used AMFPHP for this if anybody is interested. There are two good things about using AMF: The output now is around 150 KB for the same thing and AMF is natively supported by Flash so there is no need to be parsed it goes straight into memory as AS3 Objects.
2) Create a Het Map from the data: Once the data is on the client I make use of a Class from Jordi Boggiano called HeatMap.as that creates Sprites as the result. In my case I decided to create a Spring, think like an Image, of 1 pixel per cellId creating a 360×180 pixel image (cellId is equivalent to a 1 degree box).
3) Overlay the image on Google Maps: When you have the Sprite, or even earlier but thats too many details, what you do is overlaying in Google Maps for Flash using a GroundOverlay object that takes care of the reprojection and adapting it to the map. The GroundOverlay is explained in the doc as a way to overlay images but it accepts actually any Sprite.
Done! (almost)
4) Ok, there are some problems: Yes, it is not perfect, these are the pending issues:
  • The GroundOverlay seems to not be reprojecting correctly the Sprite I generate and in the very north and south everything is not correctly overlayed.
  • The resolution of the Heat Map is a little bit poor, bu actually represent the quality of the data we have. Some interpolation could be done to make it look nicer.
  • The colours of the Heat Map do not fit well with the actual Google Maps layers. When there is small data then you can not see it almost.
I still dont feel confident with the code to release it yet. I hope I can work a little bit more on it so that i can be proud, but if you desperately need it let me know.
Just another notice. Yesterday Universal Mind released a preview of a new product: Spatial Key. I am always impressed with what this people does and follow the blogs from their developers (like this one and this one). They are kind of my RIA and web GIS heroes. The new product they have released actually look very much like what I wanted to do in Biodiversity Atlas for data anlysis. It lets people explore geographically and temporally huge datasets. Tim suggested me to contact them and I will do. Nevertheless it is great to have such a great tool available to get ideas on interaction design. Good job Universal Mind, you really rock.
We want to see your comments!
Update: 
Some people asked for different quality settings on the heat map. I have modified the application so that you get now a set of controls to define different quality and drawing options. By default the app tries to figure out depending on the number of occurrences, but maybe thats not the best, depends on how the data is dsitributed. In a final product I think I would NOT provide this functionality to the user, too much for my taste. You know, less is more.

ESRI ArcMap Web Mashup Services (Recap)

Wednesday, July 9th, 2008

The Spring edition of ArcNews recaps some important ESRI announcements about version 9.3′s ability to create mashups on par with Google Maps that were announced at the 2008 ESRI Developer Summit. More than 1,200 developers representing 69 organizations in 49 countries attended the conference. Images and summaries below from ESRI. [ ] enclose my comments.

esri 2008 conf 1

“The ArcGIS 9.3 platform places a much greater emphasis on the Web,” said [Scott] Morehouse [director of Software Development at ESRI]. “The technology platform for GIS has evolved over the years. Initially, the focus was on leveraging minicomputers and workstations with an emphasis on high-performance computing and end-user interactivity. Then, the focus shifted to the database with an emphasis on information modeling and transactional data management. Now, the focus is on the Web. We have been working to put the Web at the center of everything that we’re doing with the ArcGIS system.”

JavaScript and REST APIs

The new APIs were showcased at the Plenary Session and in technical sessions presented by the ArcGIS engineers who developed them. In the REST API session, there were demonstrations of how to use JavaScript, Python, Ruby, and Yahoo! Pipes to access backend REST services powered and published by ArcGIS Server. All resources and operations exposed by the REST API are accessible through a URL.

In the ArcGIS JavaScript APIs session, there were demonstrations on how mashups can be built using JavaScript with REST that add map layers and tasks from ArcGIS Server to Google Maps and Microsoft Virtual Earth. The JavaScript API comes in three flavors: ArcGIS JavaScript API, ArcGIS JavaScript Extension for Microsoft Virtual Earth, and ArcGIS JavaScript Extension for Google Maps. [A Flash based API is also planned].

ArcGIS Server 9.3 Offers New and Enhanced Support for OGC Standards

At 9.3, ArcGIS Server provides enhanced support for the three leading Open Geospatial Consortium (OGC) Web standards: Web Map Service (WMS), Web Feature Service (WFS), and Web Coverage Service (WCS). In addition, with the recent announcement from OGC that Keyhole Markup Language (KML) 2.2 is now an official OGC standard, ArcGIS Server at 9.3 will comply with the OGC KML specification by allowing users to publish their geographic data as KML 2.2. Read more.

esri 2008 conf 3

New Features in ArcGIS Engine 9.3 Coming Soon

ArcGIS Engine developers can also now use the integrated Eclipse 3.3 plug-in to inspect the state of ArcObjects. In addition, ArcGIS Engine 9.3 supports the Java Development Kit version 6 on the latest platforms. Read more.

Google Maps Coming to Media, AIR Desktops, via Flash API

Wednesday, May 21st, 2008

Reprinted from  Read Write Web blog (original post here).

 

Written by Marshall Kirkpatrick / May 14, 2008 11:30 AM 


At the Where 2.0 conference today [May 14th] Google announced the availability of a new Flash API for Google Maps. From Flash microsites to embedded media players to beautiful cross-platform AIR apps on the desktop – expect to start seeing interactive Google Maps embedded in a lot of unusual places soon.

A substantial portion of the web’s creativity can be found in the Flash developer community.

Adobe’s AIR platform is one of the hottest development environments in the consumer market today and is being deployed with increasing frequency in the enterprise as well. Live Google Maps in Flash are likely to be used in even more creative ways than the existing javascript API has been. Javascript can be used in AIR but it’s rarely used as attractively as Flash often is.

Too much Flash can be very annoying, but offering Google Maps in Flash only makes sense. We’re excited to see what developers do with it, and we’re far from alone in that excitement.

Greg Sadetsky, CEO of map savvy open source R&D lab Poly9, wrote this morning that “This is great news. There has been a long wait for Google to release an official Flash API for their popular Maps product.” ZDNet’s Google-watching Garett Rogers appeared to have unearthed the API hours before it was presented at the conference, that’s how we knew to start looking around.

Mapping is Hot

The mapping world is exploding right now; from the release of the giant Yahoo! Geo-location database API this week, to the release of control over KML mapping markup by Google last month and the groundswell of developer interest in location-aware applications and frameworks.

Throw some Flash Google Maps into the mix and things are liable to really get interesting. Check out this adorable little Flash Map below.

Google Maps API for Flash

Wednesday, May 21st, 2008

Reprinted from The Map Room blog (original post here). The Google Maps API now has a Flash version, alongside its regular JavaScript and static versions. On the Google Maps API blog, Mike Jones writes:

So, what do I like about the API for Flash? Smoothness and speed are a big part of it. We’ve designed it so that Flash graphics can be used for each tile layer, marker and info window — opening up possibilities like dynamic shading, shadowing, animation, and video. When the user zooms the map, magnification changes happen smoothly and place names fade in. After the user drags a marker, it gently bounces to a halt. Generally, Flash allows for much greater embellishment, and, well … “flashiness.” I get excited just thinking about the creative ways developers might take advantage of having a Flash API for Google Maps.

See also Google LatLong. Apparently the idea is to embed this in Flash-based applications.

10 Examples Using The New Google Maps API For Flash

Wednesday, May 21st, 2008

Reprinted from Flash Speaks ActionScript (original post here).

These examples are from the API tutorials from Google.  Until now Google Maps via the Flash platform hasn’t been available unless you’ve been using the the UMAP component from AFComponents. As you may have heard, Google has opened up its API to the Flash and Flex community. This is huge as it offers more possibilities for Rich Interactive Applications and Google Maps. To find more info on Google Maps for Flash, check out Google’s official blog.

Check out the these examples using the new Google Maps for Flash API:

google_maps_example
Video Sync Map
A map pans and updates while a synchronized video shows footage from the city highlighted on the map.

 

Custom Local Searcher

 

Local Searcher
Displays a Flex UI with ComboBox, Button, and TextField that are used to perform a local search with the AJAX Local Search API.

campus map

Custom Campus Map
Creates a custom map by extending TileLayerBase to load in USC image tiles.

geo_map
Form Geocoding
Shows how to take a user-entered address from a Flex TextField, geocode it, and display the result as a map marker.

control options
Control Options
Shows how to customize the display of MapTypeControl and OverviewMapControl using their associated options classes.

draggable marker
Draggable Marker
Shows how to create a draggable marker and respond to its dragstart and dragend events.

custom tiles map
Custom Tiles Map
Creates a custom map that displays tiles that are actually Sprites displaying information about the tile x/y/z.

texture zoom
TextualZoom Control
Shows how to extend ControlBase to create a custom control with buttons for zooming in and zooming out.

encodded polyline
Encoded Polyline
Shows how to create a Polyline from an encoded points and encoded levels string.

flip map

Photo Flip Map
Locations in Las Vegas are plotted on the map with a small photo showing up inline; the view can be “flipped” to show a larger photo without the map. 

You can check the rest of the demos at the Google Maps API for Flash Demo Gallery.

Here’s a Quick Question:
Who will build the first feature-rich Google Maps AIR application? I’d love to see one or two!