ZYB and W3C Geolocation

by mads 11/26/2008 10:28:00 AM

In our efforts to create a more connected phonebook, we are now releasing an easy way for our users to share their location on the website. The location can be set on all pages and we use Google's map API to retrieve the specific geo location.

In addition to letting the user enter the location manually, we are taking advantage of the W3C Geolocation API. This API lets the browser specify the location automatically if it can retrieve it using GPS or Wi-Fi signals. The feature will be built into Firefox 3.1, but for now you can use an add-on called Geode. It looks like this:

When you log into zyb.com you are asked to give your location by Geode. You can then specify the accuracy in which you want to give it. If you aren't comfortable with sharing your exact location, you can just specify the city or country. This is a great and easy way to share your location with your friends and family. The feature will be live in a few days, so go download Geode.

Tags:

api

OpenID, public API and better performance

by mads 8/25/2008 4:16:00 PM

Today's release introduced a lot of new features - both visible and invisible ones. Among the invisible ones are support for more phone brands and types, faster synchronization and automatic Flickr account discoverability for contacts. They are significant improvements and deserve a post each, but this time I'll tell you about the new visible features instead.

OpenID

It is now possible to sign in and sign up using OpenID. All existing users can also login using their OpenID and then associate the OpenID with the existing account.  That means you don't lose any contacts or events because everything stays the same, except you can now use OpenID to authenticate yourself.

FriendPlayer

During the last months, our product and design team has been experimenting with different ways of showing what your contacts have been up to. First came the Friendstream, which was a graphical representation of the usual date sorted list of status updates and events. Now, they came up with a Friendplayer, which is very unique and give you a brilliant way of getting the latest updates from your contacts. It looks a bit like a cross between the Friendstream and a video player.

Public API

On zyb.com/feeds you can see a list of all  the different kind of information and formats you need to create mash-ups or third-party integrations. Currently we support 6 different formats and you can retrieve contacts, calendar events, SMS'es and activities on the Life- and FriendPlayer. The formats are RSS, JSON, FOAF, SIOC, VCard and VCalendar.

The information is protected by a special key that only the account owner knows, but is free to distribute. The key can be changed easily, which will render all the old URLs useless.

Hyves social network

We've added support for the Hyves social network, primarily used in the Netherlands. This means that Hypes users can now import thumbnail pictures and other information from their friends on Hyves, and merge them with the contacts on the phone.  Most Sony Ericsson devices support contact thumbnail synchronization, so you get a nice picture displayed on the phone when a friend calls.

Performance improvements

Using YSlow and Fiddler to monitor the network traffic, we have made huge improvements in the website performance. By using the right cache strategies we were able to reduce the amount of data a user needed to download significantly. Also, zyb.com relies heavily on the use of JavaScript and we have worked very hard on optimizing the code for better performance. Performance optimization is still very high on our to-do list the next 1½ month, so expect to see the site getting faster and faster during that period.

Finally, I just want to wish you happy ZYBbing and I hope you will enjoy the new features as much as we did implementing them.

Implementing OpenID

by mads 8/1/2008 12:48:00 PM

The ZYB team is in the process of implementing OpenID right now. It’s working on our development servers and we can both sign in and sign up using OpenID. It will be released very soon. If you don't know what OpenID is, take a look at this short video.

We are doing this for three reasons:

Reason 1. The community

For some time now, the ZYB community has been asking for OpenID login support. Since most of the developers at ZYB use OpenID, we totally understand why you want this on zyb.com. Keep on asking us to implement cool features. The more requests we receive, the higher priority they get on our roadmap. Feature requests can be posted here in the comments.

Reason 2. Data portability

The second reason for implementing OpenID is that it correlates with our efforts in supporting data portability. It’s your data we’re storing, so you should be able to take it with you wherever you go on the web. It’s the same with OpenID. It’s your credentials, so you should be able to use them anywhere.

Reason 3. It's the future

We are very sure that OpenID will be the standard way of authentication on the web in the future. By implementing OpenID we also help speed up the adoption rate and thereby brings the future a little bit closer.

The user experience

When you visit zyb.com and have to sign in, you can either choose to use your existing username/password or sign in using OpenID. The first time you're using OpenID we will ask you whether or not you wish to create a new ZYB account or to assign your OpenID to an existing account. If you wish to do that, then you have to enter your username/password once. Now you are able to use your OpenID to login to your existing account.

If you wish to create a ZYB account you can easily do that without entering your name or e-mail address like you normally would. We retrieve that info automatically from your OpenID provider. This makes it really fast to create a new account and you will be flying in a matter of seconds.

Tags:

OpenID

Displaying Your ZYB Data on Your Site

by jacob 7/17/2008 2:35:00 PM

In a previous post I added an example of how you can display your (or someone else's) lifestream data on your iGoogle page. But it's your data and you might actually want to show it on your site. As we write in other posts we are working frantically to give you access to as much of your own data as possible, but for now you can only get your profile data, lifestream and shouts.

In this post you see a basic example of how you can download your profile data and display it. The example comes in two parts. The widget.htm file shows the script tags you have to add to your page where you wan the profile information to be displayed. The only real thing to note here is that you should change the empty string in ZProfile.loadProfile(''); to whatever your profile name is. The page also defines the CSS style for the various display areas. We didn't want to define any styles for you, but that means it is your responsibility to make it look nice.

The real work is done in the profilewidget.js. This takes care of fetching the data from ZYB and writing it on your page. I won't go into the details of that here. If you know JavaScript then the code is straightforward (make a JavaScript on Demand request and write the HTML) and if you don't then you won't get anything out of it anyway.

When displaying your profile information on your own page, remember that some people who come to your page might not be ZYB users (yet!) and may therefore see less information than you or your ZYB connected friends see. You should therefore go and set the privacy settings according to the information you display.

In the future we do plan to host some widgets on this site so all you have to do is add the script tags to your own page, but we wanted to get your feedback while the development is still ongoing.

profilewidget.zip (1.38 kb)

Not only RSS, but JSON too

by jacob 6/23/2008 9:47:00 PM

You can't be a real internet site nowadays if you don't have an RSS feed. It helps to have iPhone version, but you definitely need an RSS feed. ZYB of course has both, and more.

All RSS feeds are available in JSON format also, so you can integrate them into your own website. Below you can download the code for a simple Google Gadget I threw together to show how you can access your data when and where you want it. How do you find a JSON feed? If there is an RSS feed then you can simply use .json instead of .rss and you will get the JS version. The JSON version generally contains more data that the RSS feed since we don't have to follow a standard.

Most of the feeds are currently only in alpha stage, which means that they are due to change without notice. The good thing with that is that you still have some influence about what goes into the feed.

Now to the code. Download it here:

You can find your lifestream feed at: http://feeds.zyb.com/ + [Your Profile Name] + /lifestream.json

As with any decent JSON feed it takes a callback parameter. In the code I use callback=fillLife and let the fillLife function write out the lifestream as I want to, which is basically taking the Title property and using it in a link which points to page specified in the Link property. 

Wait, does this mean that anyone can grab your data? No, you can specify your privacy settings in your account settings. So if the requesting user isn't allowed to see the data then it won't be put into the feed. So even though you can see your data in different format you won't be giving away more than you want to.

A good illustration of this is the JSON VCard data that you can access at http://feeds.zyb.com/ + [Your Profile Name] .json. If you have a look at Zybberman's data (http://feeds.zyb.com/zman.json) you can see what he has chosen to display publicly, which is basically just his name and profile picture.

zybgadget.zip (1.00 kb)

Tags: , ,

FOAF and SIOC are now available

by mads 6/23/2008 3:02:00 PM

Today’s zyb.com release introduced, among a lot of things, the semantic formats FOAF and SIOC for all profile pages. Actually, FOAF has been supported for a few weeks now, whereas SIOC is just released today.

FOAF is an XML standard for describing contact information much like the vCard format used by your phone, Outlook and others. SIOC describes actions performed by ZYB users such as Shouting, writing comments or updating status messages on Facebook. Together FOAF and SIOC provide a powerful API for gathering information by third-parties.

For a couple of months now, you have also been able to import contacts from FOAF. It could be a FOAF document somewhere on the web or on your own hard drive.

Why is it important?

At ZYB we strongly believe that the data we hold for our users do not belong to us. It is solely the property of the individual users. In that regard, we want to take every step necessary to ensure the user can do with the data what she wants. That includes data portability and that’s what FOAF and SIOC is all about. Some people call it Web 3.0 – we call it respect for our users.

It is a goal that we both create and consume various semantic formats - first of all because it is of great personal interest by the ZYB developers, but also because it can help us to provide a much greater experience for the users.

What about privacy?

Since ZYB holds very sensitive information for all our users, we take privacy very seriously. That’s why the FOAF document renderers differently depending on who requests it. If you request your own FOAF document, you get all the information that we can possibly give you. Anyone else will only get the bare minimum, but enough to make sense for them together with SIOC.

You’ll find the two formats at zyb.com/profilename.foaf and zyb.com/profilename.sioc respectively.

In the following weeks, we’ll write more about how data portability and the semantic web play a big part of our development efforts.

Pimp my ZYB starts

by mads 6/17/2008 4:41:00 PM

Hello, and welcome to the new ZYB blog. This is where the developers behind zyb.com will let you in on a lot of secrets, hidden features and future directions. It is also the place where you can tell the ZYB developers what you would like from future releases.

Our mission is clear: Share information about zyb.com with everyone interested. The subjects we will address here will be of a technical nature and could be about almost anything related to the zyb.com website.

The reason is that a lot of the features we develop are hidden by nature. It could be the RSS feeds or FOAF files that you already have access to, but might never notice. That’s why we feel the need to share with you all of these little secrets and hopefully you will give us feedback on them so we can improve them continuously.

If you are a ZYB user and technical minded this is exactly what you have been looking for, hurry up and subscribe to the RSS feed.

Sincerely yours,

The ZYB developer team

Tags:



Powered by BlogEngine.NET

The mission

At ZYB the data you upload is your data. This blog site will show you how you can request your ZYB data in various formats to integrate with your own site or application.

Disclaimer

The posts here are targeted at developers. The advice or suggestions here can be used at your own responsibility and ZYB cannot assume responsibility for any adverse effects to your own system or your clients' systems arising from the full or partial use of the posted code.

At present all code samples are in alpha version and may change without notice.