Mar 05

Google Contacts API: Never give our your username and password again!

Google, Tech with tags: , , 1 Comment »

Neil on the Moon

How many applications ask for your Google username and password to get access to your contacts? A lot of new services offer the “feature” to map contacts on their service to your buddies. For example, you signup to Dopplr and want to map your contacts over.

Giving your username and password to your email is a Bad Thing ™, so we have wanted to put out an API that does what you really want (access to contacts) without opening up the entire farm (e.g. look at your email, or worse).

Sebastian Kanthak and his team have released the Google Contacts API:

It gives programmatic access to your contact list. The contact list is shared among Google applications like Gmail, Reader, Calendar, and more.

The Google Contacts Data API allows you to own your own contact data. We expect the API to be useful for a big range of applications. For example, developers can use it to:

  • Import a user’s Google contacts into their web or desktop application
  • Export their application’s contact list to Google
  • Write sync applications for mobile devices or popular, desktop-based contact management applications

The Contacts API allows developers to create, read, update, and delete contacts using the Google Data protocol, based on AtomPub. It also allows for incremental sync by supporting the “updated-min” and “showdeleted” parameters. Please take a look at our documentation to see all the options supported.

We know that this Google Data API is the most requested feed by our developer community, so we’re very excited about this release. We are committed to actively work with you to improve the Google Contacts Data API and we’d like to hear back from you in our Google Contacts API group.

I know many people have been waiting for this, and I am excited. What a day for tech!

Mar 05

Selenium User Meetup 2008: Developer Panel

Tech with tags: , , No Comments »

The Selenium core team had a little panel at Google which was filmed, and shown below. They cover the following questions:

  • What is your story with reporting? We punted, but Ward Cunningham did create FIT, which some people use. There is a wonderful opportunity for someone to do good reporting here ;) Take a look at SpecUI also.
  • Testing interfaces Selenium interface and Selenium RC can have multiple implementations. You can run Selenium itself from within HTMLUtil. Crazy.
  • Are you out to standardize browsers? I would love the W3C to release a test suite instead of a paper document.
  • Why does the Website look like someones head exploded? We have a lot of modes. I know.

I heard great things about the event. Testing on the Web is an art right now, and hopefully we can get better at it.

And the lightning talks are also online:

Mar 05

Death of www1, www2, thanks to connection limit raising?

Comic, Microsoft, Tech, Web Browsing with tags: No Comments »

Browser Connection Limit

It is fantastic to see IE8 up the ante on concurrent connections from 2 to 6. I would love to know how they made the call for 6. It sounds reasonable. You don’t want too many else you could end up sucking down so much content at once it could freak out the browser (e.g. imagine a bunch of video on a high speed line).

This should mean, for some situations, that you may not need to deal with www1, www2 type hacks to split up your domains. Of course, sometimes you will still run into the limit and it will be required.

I do wish that Twitter would up their ante too. Maybe not by changing the 140 char limit itself, but maybe by supporting #hashtags so they don’t “take up the room” and instead get moved down below to the metadata layer etc.

Mar 05

IE 8 and Google Gears

Gears, Microsoft, Tech with tags: , 4 Comments »

The IE 8 updates are out, and there are some great features that relate to Gears. Also, a lot of the features are standards based so we will see the functionality in other browsers too.

Six connections per host

Yay! The 2 connection limit has been so painful for rich Ajax development, especially when you get into advanced work like Comet. This small change is going to be huge.

Connectivity Events

Connectivity events allow websites to check when the user is connected to the network and receive notification of connectivity changes.

This is fantastic. A lot of developers want this functionality, and we have held off implementing it in Gears as it is actually quite tricky to do correctly. Having a version of this in the browser will be great, and Gears applications can leverage it.

DOM Storage

The simple storage for offline applications. I could see someone writing an app that uses DOM storage for simple cases, and Gears for the more advanced (SQL vs. name/value pairs).

Cross Domain

Cross domain is actually going to happen in 2008, which is very exciting indeed. By jumping in we can iron out the issues and end up with a real mashup world that is more than read only tools. I am assuming that this is also using standards such as postMessage.

Cross-domain communication is an integral part of AJAX development
and mashup Web applications. Internet Explorer 8 includes two
features to help you build cross-domain communications that are safe
and easy to implement:

  • With Cross-domain Request (XDR), developers can
    create cross-site data aggregation scenarios. Similar to the
    XMLHttpRequest object but with a simpler programming model, this
    request, called XDomainRequest, is the easiest way to make anonymous
    requests to third-party sites that support XDR and opt in to making
    their data available across domains. Three lines of code will have
    you making basic cross-site requests. This will ensure data
    aggregation for public sites (such as blogs) will be simple, secure
    and fast.
  • Cross-document Messaging (XDM) APIs allow
    communication between documents from different domains through
    IFrames in a way that is easy, secure and standardized.
Mar 05

Customizing Google Maps and Everyblock

Google, Tech with tags: No Comments »

Rotten Neighbourhood

EveryBlock is a fantastic new service that is a “news feed for your neighbourhood”, created by Adrian Holovaty of Django and other fame (and others of course).

The mapping side of their site is a strong focus, and they talk about why they went down a somewhat custom route:

For the technology-inclined reader, here’s how we put our map platform together. All web technologies are a “stack,” like layers in a map, and our map stack starts at the top with OpenLayers, which provides the click’n’drag’n’zoom interface. The next step down in the stack is Mapnik, which renders geospatial data into graphical images. At the bottom of the stack is our collection of geospatial data, which includes TIGER/Line and shapefiles from various city governments, as well as databases and tools that operate on that data, such as PostGIS, Shapely, and OGR. Finally, the “secret sauce” layer in the stack is TileCache, which actually sits between OpenLayers and Mapnik. It provides caching of the map tiles that are generated by Mapnik and served to OpenLayers. I say “secret” because it’s transparent to both the layers it sits between, and also because it greatly speeds up the entire stack, making it possible to deploy and scale a large mapping application. It’s worth mentioning that all these layers of the stack are open source or licensed freely. If you can build and deploy a web application, you can build and deploy a complete standalone geospatial and mapping application. The tools and data are there for the taking.

Comments aren’t enabled on that entry, so I thought I would just post here. I am a little surprised at the characterization of Google Maps (and other services):

With Google Maps or any other web-based mapping service, we’d be limited to the color palette, typeface, and other design elements that service’s designers chose. While those maps can be handsome products, their choices aren’t our choices, and don’t mesh well with our site’s aesthetics.

I find this a touch confusing, as you can create custom map types (with layers that you want), and you can extend the UI with custom overlays, custom controls, and you basically end up with something that doesn’t look at all like maps.google.com, other than the Google logo.

You can see this in action with some examples. Below you see Runway Finder, and you can also check out other custom maps such as Map WOW, NY Subway.

For UI changes you can see Rotten Neighbor, Ace Hardware and Lonely Planet.

Runway Finder

There are plenty of reasons to have to jump from Google Maps to your own solution, and this may be the right choice for Everyblock (they know a touch more about their application than me!). You can go further and further with the online mapping solutions right now and I would find it hard to not use them.

Mar 05

Choosing a Web framework over the years

Comic, Ruby, Tech, Web Frameworks 3 Comments »

Choosing a Web Framework

I read through Wired on the plane. In fact, I use Wired as a barometer on how much I am traveling. If I go to the airport and there IS NOT a new Wired for me to pick up, I know I am traveling too much.

Anyway, I perused the article on 37signals which did a good job on not being a total love-fest. It is one of those articles where you take out of it what you thought before. If you think they are arrogant gits you will say “yup, arrogant gits”. If you think they are doing great things for the industry, you will continue to think that too.

It did make me think about how great we had things a couple of years back when Rails was red hot. There was that brief time where you tons of people were saying “Wow, I am going to choose Rails for my next application”. The alpha masses from Java, PHP, ASP, all checked it out.

Now though? They are moving on to check out other solutions. Many frameworks have copied some of the good things from Rails that make sense in their worlds. Now when I think about the next toy to play with, I have a large set of potential “cool looking” frameworks to try.

For such a brief time, life was easy.

Mar 04

Dare takes a break; I hope he wasn’t pushed

Microsoft, Tech with tags: No Comments »

I was gutted to read that Dare is quitting his blog. He almost did it before.

This would be a real loss, as Dare is someone inside Microsoft who gives his honest voice and opinion to the community. I am sure that people within the company aren’t always pleased at what he says, but he is doing everyone a great service (including Microsoft).

I have a couple of hopes:

  • That Dare comes back with renewed vigour, refreshed, and ready for more
  • That he isn’t quitting the blog due to someone being a pain in the arse and getting him to quit.
Mar 04

Mobile Web News: Gears, Silverlight, AIR

Tech with tags: , , No Comments »

There has been a lot of news in the mobile Web space.

AIR

At Adobe Engage, Kevin Lynch showed screen shots of AIR running on a phone and gave a sneaky demo of it running on a tablet running Windows on a Nokia device (Nokia will probably end up with devices running everything :).

Silverlight

Nokia and Microsoft announced Silverlight support:

Nokia today announced plans to make Microsoft Silverlight available for S60 on Symbian OS.

Gears

We released Google Gears for Mobile. Although the first release is for WinMo only, we actually have something that you can use right now and third parties implemented solutions in very short order indeed. I can’t wait to see this spread to other devices.

iPhone

March 6th baybee. 2008, the mobile Web hits hard.

Mar 04

Pair Programming Productivity … Part 2

Comic, Tech with tags: No Comments »

Pair Programming Productivity 2

First we saw the productive pair programmer and now we see how we are dealing with humans, and it depends on the connections.

Mar 03

It’s 3am…. can your Web framework handle a diggin?

Comic, Politics, Ruby, Tech, Web Frameworks with tags: , 2 Comments »

Rails at 3am

I hate the fear ads, and seeing the Clinton one was sad to see. Showing pictures of kids etc… are you kidding me?

I know Hilary is scrapping for her life, but still. I really don’t understand the experience line too, since she has only been a Senator for a few years. How she comes up with 32 years baffles me.

Anyway, it all reminded me of the fear-monging around Rails scaling.