eBay Development : Finding API

These are complimentary informations to my first post about eBay Development and are focused on the new Finding API. The homepage of the eBay Developers Program is http://developer.ebay.com/.

eBay provides a set of keys (DEVID, AppID, CertID) for the sandbox and for production. These keys are registrated at the personal eBay developer account webpage. Developer centers are available for Windows, Java, PHP, Javascript and Flash. There are different API’s available for selling, buying, research and monitoring :

  • Finding
  • Shopping
  • Merchandising
  • Feedback
  • Trading
  • Large merchants
  • Client alerts
  • Platform notifications
  • Research

There are call limits per day for the different API’s. For higher call limits, applications need to complete a compatible application check process.

eBay Finding API enables applications to search for eBay items using eBay’s next generation Finding Platform. Today I replaced the eBay shopping API by the new Finding API in my applications.

The supported functions for the Finding API are :

  • getSearchKeywordsRecommendation: Get recommended keywords for search
  • findItemsByKeywords: Search items by keywords
  • findItemsByCategory: Search items in a category
  • findItemsAdvanced: Advanced search capabilities
  • findItemsByProduct: Search items by a product identifier
  • findItemsIneBayStores: Search items in stores
  • getHistograms: Get category and domain meta data

The function findItemsAdvanced enables searching for items on eBay by category (using categoryId), by keywords (using keywords), or a combination of the two. By setting the descriptionSearch field to true, the keyword queries also search the item descriptions, in addition to searching through the item title and subtitles. Another interesting finction is getHistograms which returns category and/or aspect histogram information for the eBay category ID you specify.

There are different possibilities to obtain the list of categories ID’s for a specified eBay website (php program,  special API, …). A simple solution is to access the storelist online at the eBay website with the url http://listings.ebay.xx, for instance:

Other needed informations to use the eBay API efficiently are the Global ID, a unique identifier for combinations of site, language, and territory. The list of Global ID’s is available on the eBay developer website.

The keywords field is the basis for item searches. The value specified in the keywords field can contain one or more keywords and combinations of wildcard characters. The words “and” and “or” are treated like any other word.  You can use AND or OR logic by including certain modifiers. The complete list of modifiers and wildcards for searching by keywords is available at the eBay developer website.

A search can be refined with item, aspect and domain filters. Filters provide better control over the search results by narrowing the range of items returned. Domains are a buy-side grouping of items, such as women’s dresses. A domain can span many eBay categories and some categories may be included in more than one domain. Aspects are item characteristics, such as brand, product type, size, which are shared by certain types of items. For example, for Shoes, aspects include Style, Color, and Shoe Size. For Digital Cameras, aspects include Product Type, Brand, Megapixels, and Optical Zoom.

In addition to filters, you can specify certain properties to control the way data is returned. These do not control which data is returned, but rather how it is sorted and the volume of the response. The applicable sort values are available at the eBay developer website.

Use paginationInput and its child elements to break the items matching the search criteria down into smaller subsets, or “pages” of data. The paginationInput.entriesPerPage field specifies the maximum number of items to return for any given request. The paginationInput.pageNumber field specifies which “page” of data to return in the current call. The maximum value for paginationInput.entriesPerPage is 100, this is also the default value.

To include additional informations in the search results as the default values, the outputSelector fields can be used. To earn money from eBay for driving trafic to their website, affiliate-related fields, which are included in a call request using the affiliate container, enable the tracking of user activity. Commissions are generated when users do qualifying actions, such as bid, buy, or register. The affiliate container has the following fields: networkId, trackingId, and customId.

There is no difference between uppercase or lowercase characters in the keywords. Special caracters as é, è, à, ü etc are however not recognised.

SWFObject

SWFObject is an easy-to-use and standards-friendly method to embed Flash content, which utilizes one small JavaScript file. The actual version of the open-source project is 2.2. The work is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 Unported License. The authors of SWFObject are Geoff Stearns, late Michael Williams and Bobby van der Sluis.

SWFObject offers:

  • two optimized Flash Player embed methods; a markup based approach and a method that relies on JavaScript
  • a JavaScript API that aims to provide a complete tool set for embedding SWF files and retrieving Flash Player related information
  • only one small JavaScript file (10Kb / GZIPed: 3.9Kb)
  • replacement of SWFObject 1.5, UFO and the Adobe Flash Player Detection Kit
  • unification of all existing Flash Player embed methods and provision of a new standard for embedding Adobe Flash Player content
  • detection of the Flash Player version and determination whether Flash content or alternative content should be shown, to avoid that outdated Flash plug-ins break Flash content
  • functionality to revert to alternative content in case of an outdated plug-in by means of a DOM manipulation (Note: if no Flash plug-in is installed the HTML object element automatically falls back to its nested alternative content)
  • the option to use Adobe Express Install to download the latest Flash Player

SWFObject 2 offers two distinct methods to embed Flash Player content:

1. The static publishing method embeds both Flash content and alternative content using standards compliant markup, and uses JavaScript to resolve the issues that markup alone cannot solve
2. The dynamic publishing method is based on marked up alternative content and uses JavaScript to replace this content with Flash content if the minimal Flash Player version is installed and enough JavaScript support is available.

Both methods have advantages. The SWFObject library consists of one external JavaScript file. SWFObject will be executed as soon as it is read and will perform all DOM manipulations as soon as the DOM is loaded – for all browsers that support this, like IE, Firefox, Safari and Opera 9+ – or otherwise as soon as the onload event fires.

An online HTML and javascript generator is provided to create the right code for an swf object. A tutorial how to use SWFObject is available on the Adobe website. The following link leads to a webpage with a script indicating the installed Flash version.

Amazon CloudFront

update : October 18th, 2011
Amazon CloudFront is a web service for content delivery. It integrates with other Amazon Web Services (mainly Amazon S3) to give developers and businesses an easy way to distribute content to end users with low latency, high data transfer speeds, and no commitments.

Amazon CloudFront delivers the content using a global network of edge locations. Requests for  objects are automatically routed to the nearest edge location, so content is delivered with the best possible performance. Amazon CloudFront works seamlessly with Amazon Simple Storage Service (Amazon S3) which durably stores the original, definitive versions of the files.

In Amazon CloudFront, objects are organized into distributions. A distribution specifies the location of the original version of the objects. A distribution has a unique CloudFront.net domain name  that  can be used to reference an objects through the network of edge locations. It’s also possible to map an own domain name to a distribution.

Amazon CloudFront is

  • fast
  • simple
  • cost-effective
  • elastic
  • reliable
  • global
  • designed for use with other Amazon Web Services

The price depends on the edge location and the volume transferred. The mean price per GB for low volumes is about 0,2$, for high volumes about 0,1$. A simple monthly AWS bill calculator is provided by Amazon. Normal fees will apply for Amazon S3 usage, including “origin fetches” – data transferred from Amazon S3 to edge locations.

The edge locations in Europe are:

  • Amsterdam
  • Dublin
  • Frankfurt
  • London

Amazon CloudFront is designed for delivery of objects that are frequently accessed – “popular” objects. Objects that aren’t accessed frequently are less likely to remain in CloudFront’s edge locations’ caches. Thus, for less popular objects, delivery out of Amazon S3 (rather than from CloudFront) is the better choice. Amazon S3 will provide strong distribution performance for these objects, and serving them directly from Amazon S3 saves the cost of continually copying less popular objects from Amazon S3 to the edge locations in CloudFront.

I activated my Cloudfront account on November 1st, 2010.

A recent tutorial how to install Amazon CloudFront has been posted by Michael Tieso on the website “Art of Travel Blogging”.

Delete wordpress post revisions

To delete and remove all existing post revisions entries and rows from WordPress database posts table, login to phpMyAdmin, select the appropriate WordPress database and then issue the following command :

DELETE FROM wp_posts WHERE post_type = ‘revision’;

To turn off and disable automatic post revisions, simply add the following line of code to wp-config.php file located in the root or home directory of WordPress blog:

define(’WP_POST_REVISIONS’, false);

Popup window with parameters

If a new window is created by an user action, it will not be blocked by the browser’s popup blocker.

The dimensions (width & height) of the popup window are required, the other parameters are optional:

  • left & top :  the distance from the top and left side of the screen
  • toolbar :  if the popup should have a set of navigation buttons across the top
  • location :  if the popup should have a location bar where the URL is displayed
  • directories :  if the popup should have a row across the top with buttons to popular web sites
  • status : if the popup should have a status bar across the bottom
  • menubar : if the popup should have a menu
  • scrollbars : if the popup should have scroll bars
  • resizable : if users can resize the popup
  • dependent : if the popup should close when its opener window closes
  • full screen : how to open a full screen popup

The popup script has the following format:

window.open(href, windowname,

width=400,height=200,scrollbars=yes’);

An example is given below:

[HTML1]

Dream Bank

Last update : August 9, 2013

The Psychology Department of the University of California, Santa Cruz, offers access to their Dream Bank, a collection of over 20.000 dream reports in English and 6.000 dream reports in German, coming from a variety of different sources and research studies, from people ages 7 to 74.

The reports can be analyzed using a search engine and statistical programs built into the Dream Bank website. Several of the people who contributed dreams to the Dream Bank wrote prefaces to their journals which are also available. A summary of the collection available for search is presented in the grid.

D. William Domhoff wrote a contribution “Fast Content Analysis Using the Internet” in 2004 based on the search engine. More recent findings have been published in Consciousness and Cognition (17, 1238-1247) in 2008 in the contribution “Studying Dream Content Using the Archive and Search Engine on Dream Bank.net“.

3D data sculptures

Today 3D sculptures can be created with 3D plotters and standard 3D modelling software. These tools allow digital artists to transform large data sets into a physical form.

~IDENTITÄT – The »Gestalt« of dig­ital identity

A recent project in this area has been done by Jonas Loh and Steffen Fiedler as a bachelor thesis at the Studiengang Interfacedesign of the University of Applied Sciences Potsdam, Germany, with the help of the 3D Lab of the TU-Berlin. The project called ~IDENTITÄT – The »Gestalt« of dig­ital identity eval­uates how dig­ital identity is generated to determine pa­ram­e­ters on which a compa­ra­ble anal­yses of the dig­ital identity is pos­sible. The concept, the process and the results are published at the website www.digital-identities.com. Photos of the whole project are available at the flickr collection. The project was tutored by Prof. Boris Müller.

Other 3D sculpture projects are :

Web Design : em versus pixel

Last update : June 24, 2014

Because of the wide range of settings and equipment that people might be using to access the web, there is no “best font size”. Font sizes should be specified using relative units like percentage or em since these will allow the user to adjust font sizes up or down to suit their own requirements.

With CSS you can specify font size as a percentage of the font size of a parent element. For example, headings are inside the body of the page. If you don’t set a size for the text in the body, the text of the body will be the size that the reader has chosen as their default size. An ’em’ is equal to the computed value of the ‘font-size’ property of the element on which it is based. The exception is when an ’em’ occurs in the value of the ‘font-size’ property itself, in which case it refers to the font size of the parent element. It may be used for vertical or horizontal measurement.

A default font size of 16 pixels is used for the body if the browsers are configured as follows :

  • Internet Explorer, choose View>Text Size>Medium
  • Opera, choose View>Zoom>100%
  • Firefox, choose View>Text Size>Normal

Some web designers recommend to set the font size in the body to 10 pixels (63%) to allow easier calculations of the em-values (in this case 1.4 em gives a font size of 14 pixels). In the case of embedding elements, this gives no real advantage for the calculations.

em versus pixel

The following table shows the relations between pixels and em’s for different font-sizes, based on a default font size of 16 pixels = 1.0 em.

font-size pixels em
xx-small 9 0,56
x-small 10 0,63
small 13 0,81
medium 16 1,0
large 18 1,13
x-large 24 1,5
xx-large 32 2,0

Lorem Ipsum

Last update : August 19, 2016

Lorem Ipsum

Lorem Ipsum

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry’s standard dummy text ever since the 1500s, when an unknown printer took a galley of type and scrambled it to make a type specimen book. It is a long established fact that a reader will be distracted by the readable content of a page when looking at its layout. The point of using Lorem Ipsum is that it has a more-or-less normal distribution of letters. More informations about Lorem Ipsum and an online generator are available at the lipsum.com website.

A more recent artisanal filler text generator is Hipster Ipsum. A hipster is a person who follows the latest trends and fashions, especially those regarded as being outside the cultural mainstream. Ian Van Ness, senior hardware tools developer at Apple, created HipsterJesus, an API to create Hipster Ipsum texts related to the bible. Hipster Jesus is an Internet Meme referring to a series of images of a glasses wearing version of Jesus Christ.