ArcSoft WebCam Bundle

ArcSoft offers a Webcam Bundle with the WebCam Companion™ 3 and the Magic-i Visual Effects 2 software tools. This bundle was preinstalled with ArcSoft Connect on my Sony Vaio laptop.

ArcSoft WebCam Companion™ 3 offers a broad range of applications designed and optimized for a webcam with the following features :

  • Photo and Video Capturing
  • Smart Video Enhancement
  • Pose Detection
  • Masque your photos
  • Editing Snapshots
  • Album Managing
  • Intelligent Video Surveillance

ArcSoft Magic-i Visual Effects 2 is a smart and simple webcam application designed to enhance users’ video chat experience through frames, effects, and themes. Using “Video Plug-in” technology, Magic-i Visual Effects 2 launches automatically when you start a video chat with any of your favorite chat clients, so you can apply fun effects simply and easily. It’s also compatible with WebCam Companion.

ArcSoft Connect provides product management and helpful updates for ArcSoft applications, which enables a better user experience. ArcSoft Connect will be automatically launched while running ArcSoft products.

The tools work as expected. The buttons for desactivating the camera (private) or the microfone (mute) in the visual effects plugin are very small and it’s useful to check first these settings if the sound or video is not working.

Skype video calls

last update : October 6, 2011
In September 2010, Skype launched the version 5.0.0.123 beta release and the stable version 4.2.0.187 for Windows.

Version 5 comes with a free trial of group video calling, allowing to call up to four friends. After the beta test, this feature became paying. At least one person on the call needs now Skype Premium or a group video subscription from Skype Manager to use group video call (monthly subscription).

Skype offers free Skype-to-Skype voice and video calls and free instant messaging. Calls to public fixed and mobile phones, Short Messages (SMS), voicemails and other value-added services are billed by Skype. Several payment options are available. Skype is available for Windows, Mac OS X, Linux, mobile phones and some Television sets.

Skype offers an excellent support with user guides, troubleshooting guides, FAQ‘s, forums, knowledgebase, different blogs (Big Blog, Community blogs, Technology blog, Business Blog, International Blogs, Heartbeat) and a development site (Skype Garage).

A new software development kit (SkypeKit) that enables hardware and software makers to add Skype functionality to their devices and applications is available to a limited number of beta program developers. A public Skype API enables third-party applications to communicate with Skype. A hardware and software certification (skype certified) is provided by Skype.

The audio codec preferred for Skype-to-Skype calls is SILK (Super Wideband Audio Codec). Skype has contributed the SILK source code to the Internet Engineering Task Force working group.

For Business Skype offers Skype Connect and Skype Manager. Skype pays a special attention to sound and video quality.

A funny third-party application for Skype is Crazytalk.

Skype was founded in 2003. It’s based in Luxembourg, with offices in Europe, the US and Asia. It’s owned by an investor group led by Silver Lake and which includes eBay Inc, Joltid Limited and Skype founders Niklas Zennström and Janus Friis, the Canada Pension Plan Investment Board and Andreessen Horowitz.

I updated my Skype version to 5.5.0.119 in october 2011.

Facebook Graph API and access tokens

The Facebook Graph API enables you to read and write objects and connections (relationships)  in The Facebook social graph.

There are 14 graph objects available :

  1. user
  2. page
  3. group
  4. application
  5. post
  6. status message
  7. note
  8. event
  9. link
  10. checkin
  11. album
  12. photo
  13. video
  14. subscription

Each object has a collection of properties. The numer of properties is ranging from 4 (min) for the “status message” object to 23 (max) for the ” user” object.

Besides the listed objects, which can be connected to other objects, the following additional connections are defined :

  1. comments
  2. feed
  3. picture
  4. tagged
  5. statuses
  6. insights
  7. maybe
  8. invited
  9. attending
  10. declined
  11. members
  12. likes
  13. source
  14. home
  15. friends
  16. activities
  17. interests
  18. music
  19. books
  20. movies
  21. television
  22. inbox
  23. outbox
  24. updates
  25. accounts

Each object has an individual ID (xxxxxxx) and can be accessed with the URL :

http://graph.facebook.com/xxxxxx

A field query parameter can be used to filter the returned data, for instance :

http://graph.facebook.com/xxxxxx?fields=id,name, picture

Alternatively, the ID can be a name, if defined. The connections, if available, are returned in the same request if the parameter “metadata=1” is added to the request (Introspection). Multiple objects can be fetched in the same request by adding the “?ids=” parameter. A special identifier  “me” refers to the current user.

To fetch a specific connection, for instance who is attending the event zzzzzz, the URL is structured as follows :

http://graph.facebook.com/zzzzzz/attending

All responses are JSON (Javascript Object Notation) objects, a lightweight data-interchange format.

If an object is private, you will receive only the public part of the data or the following error message :

{
   "error": {
      "type": "OAuthAccessTokenException",
      "message": "An access token is required to request this resource."
   }
}

To access a graph object with an active access token (yyyyyy), the following method is used :

https://graph.facebook.com/xxxxxx?access_token=yyyyyy

All calls with access tokens are required to go over HTTPS.

An access token is granted by the concerned user, by the page or by the application. Access tokens are based on OAuth 2.0, an open protocol providing specific authorization flows for web applications, desktop applications, mobile phones, and living room devices.

In an initial launch, Facebook supports three ways of getting an access token :

  • The default authorization flow is the web server flow for use by server-side developers. The whole flow works by redirecting the user to the authorization server (Facebook) and back to the developer site.  A “Connect URL” with the domain and path of the site must be preregistered.
  • The second method is the user-agent flow in a Javascript based application. Because the code actually runs on the client device, it can’t really rely on embedded secret keys for security – in JavaScript, anyone can look at the source code and trivially extract the secret. The access token is just returned directly in the redirect response instead of requiring an extra server call with specific care for handling security issues.
  • The third method, client credentials flow, is the simplest flow – just exchange your client_id and secret for an access token, no user is involved. It’s mainly supported for accessing application-only resources.

Open Graph Protocol

Last update : June 29, 2013

Open Graph Protocol Logo

The Open Graph protocol enables any web page to become a rich object in a social graph. For instance, this is used on Facebook to enable any web page to have the same functionality as a Facebook Page.

While many different technologies and schemas exist and could be combined together, there isn’t a single technology which provides enough information to richly represent any web page within the social graph. The Open Graph protocol builds on these existing technologies and gives developers one thing to implement.

To turn a web page into a graph object, you need to add basic metadata to the page. The initial version of the protocol is based on RDFa (Resource Description Framework – in – attributes,  W3C Recommendation), which means that you’ll place additional < meta>-tags in the <head> of your the page.

The Open Graph protocol was originally created at Facebook and is inspired by Dublin Core, link-rel canonical, Microformats, and RDFa. It is related to the semantic web.

DNS Diagnose Tools

There are a lot of online and desktop tools available to manage DNS and diagnose DNS problems.

My favorite online tool is network-tools.com, a website operated since 1998 by The Keyword Factory of Ocean City, NJ.

This site offers the following diagnose results for a given  url :

  • Ping
  • Lookup
  • Trace
  • Whois (IDN Conversion Tool)
  • DNS Records (Advanced Tool)
  • Network Lookup
  • Spam Blacklist Check
  • URL Decode
  • URL Encode
  • HTTP Headers  [SSL]
  • Email Verification

An express diagnose method to obtain all relevant informations with one test is also available.

An example of the results from retrieving DNS records for www.html5.lu is given hereafter :

DNS servers
ns1.dns-stock.com
ns2.dns-stock.com

Answer records
html5.lu MX
preference: 10
exchange: venus.vo.lu
3600s
html5.lu NS ns2.dns-stock.com 3600s
html5.lu NS ns1.dns-stock.com 3600s
html5.lu SOA
server: ns1.dns-stock.com
email: sysop@vo.lu
serial: 2010082701
refresh: 28000
retry: 2800
expire: 2419200
minimum ttl: 3600
3600s
html5.lu A 85.93.210.131 3600s

Authority records

Additional records
venus.vo.lu A 80.90.45.96 28800s
venus.vo.lu A 80.90.45.97 28800s

Facebook Javascript API

The new Facebook Javascript API handles the following methods :

Core methods

  • FB.init : Initializes the library
  • FB.login : Login/Authorize/Permissions
  • FB.logout : Logout the user in the background
  • FB.api : Make a API call to the Graph API
  • FB.ui : Method for triggering UI interaction with Facebook as iframe dialogs or popups, like publishing to the stream, sharing links
  • FB.getLoginStatus : Find out the current status from the server, and get a session if the user is connected
  • FB.getSession : Synchronous accessor for the current Session (less overhead as the asynchronous access)

Data Access Utilities

  • FB.Data.query : Performs a parameterized FQL query and returns a FB.Data.query object which can be waited on for the asynchronously fetched data
  • FB.Data.waitOn : Wait until the results of all queries are ready

Event Handling

XFBML methods

Canvas methods

Some useful tutorials about the new Facebook Javascript SDK are listed hereafter :

  • Mahmud Ahsan on Thinkdiff.net: Graph api & javascript base Facebook Connect tutorial
  • Abu Ashraf Masnun on masnun.com : Using The Facebook Graph API with js-sdk : An explanatory Tutorial
  • timware on Hyperarts : How to Add Facebook’s XFBML Like Button & Social Plugins to Your Web Pages & WordPress Posts

A very useful development tool is the Test Console made available by Facebook.

IYOUIT – Share Life Blog Play

IYOUIT gathers data around users and about users. This data is called context. Context is centered on places user visit and people they meet and can grow to include all kinds of things that surround users.

IYOUIT is a mobile application developed in Python, and running on Nokia Series 60 phones. Its aim is to make it easy for an end-user to automatically record, store, and use context information, e.g. for personalization purposes, as input parameter to information services, or to share with family, friends, colleagues or other relations, or just to log them for future use or to perform statistics on their own life.

Personal context : Location – Place – Experience – Photo – Sound – Observation – Books and Products – Weather – Marker

ipconfig /release /renew

screenshot ipconfig

Sous Windows, la commande Ipconfig affiche toutes les valeurs actuelles de la configuration du réseau TCP/IP et actualise les paramètres DHCP (Dynamic Host Configuration Protocol) et DNS (Domain Name System). Utilisé sans paramètres, ipconfig affiche l’adresse IP, le masque de sous-réseau et la passerelle par défaut de toutes les cartes.

ipconfig /release
Envoie un message DHCPRELEASE au serveur DHCP pour libérer la configuration DHCP actuelle et annuler la configuration d’adresse IP de toutes les cartes ou d’une carte spécifique si le paramètre Carte est inclus.

ipconfig /renew
Renouvelle la configuration DHCP de tous les cartes (si aucune carte n’est spécifiée) ou d’une carte spécifique si le paramètre Carte est inclus.

Les commandes sont entrées dans la fenêtre Command Prompt de Windows. Le recours à ces commandes est notamment nécessaire sous Windows Vista pour configurer un lapin Nabaztag si on n’arrive pas à se connecter sur l’adresse IP 192.168.0.1. Comme indiqué sur les pages help de Nabaztag, la séquence de commandes

ipconfig  /release
ipconfig  /renew

règle le problème.