Tucows APIs + PHP

Here's an equation that should work better, but at the moment, doesn't:

Tucows APIs (with 2 Squishy Cows) + PHP (with PHP logo).

To put it simply, there's a lot of room for improvement when it comes to PHP code libraries for Tucows' various APIs, and it's high time that those improvements were made. That's what this post is about — my plans to rectify the situation.

The Current Client Code Situation

There are two official pieces of client code, each of which addresses a different need:

  • The Reseller Client Library (RCL): Our original client code. Written in Perl, this is a library upon which you can build a client application that makes use of the XCP and TPP protocols (which in turn means that you can provision every major Tucows service with the exception of Blogware). Intended primarily for developers, it's just a skeleton — you can't just upload it to a server, set a configuration file and have a website up and running. You have to do some coding first.
  • The Client Code Suite (CCS): Our new client code. Written in PHP 5, this is a complete application that's ready to run once you've run the setup programs and added your own branding. It's capable of provisioning domains for the more popular TLDs, Blogware and Blogware/domain name bundles. It also ties in very nicely with our Platypus billing system.

What's missing is some client code that serves the people in the middle ground between the RCL and CCS — a Tucows API library that is both:

  • Written in PHP
  • A library that can be integrated into your code

My plan to bring such a library into existence as soon as possible.

The Good News: The Hard Part has Already Been Done!

Colin Viebrock, who used to work in Tucows' Content division, wrote a PHP library for making API calls to OpenSRS a few years ago. His SourceForge-hosted library, called PHP OpenSRS Client, simplifies making XCP and TPP calls and takes care of the little authentication dance you must do in order to connect to the server. It hasn't been updated in a while, but there hasn't been any need to do so: it works, and better yet, it works under both PHP 4 and PHP 5.

I've used Colin's library for a number of small projects, the most recent of which was the Duke of URL application: it uses the library to make and get the return value of the newly-minted XCP API call NAME_SUGGEST.

The Bad News: Little Documentation, A Little Tricky to Use

The library comes with only a little documentation, and as an unofficial project, there are no code examples for it in the the official Tucows API docs. Those API docs provide Perl (under the RCL) and XML example, but not PHP (under the PHP OpenSRS Client). If you're a programmer who's planning on using the OpenSRS PHP library, you're going to have to do some reverse engineering and endure a little some trial-and-error.

Here's an example: let's say you want to ask the live server (as opposed to the test server, a.k.a. “Horizon”) suggestions for available .com, .net and .org domain names based on the word “steak”.

The docs provide examples of how to make this call using raw XML and Perl (with the RCL), but don't explain how to do so with PHP and the PHP OpenSRS Client. Wouldn't it be nice if the official docs told you that the following PHP code, in conjunction with the PHP OpenSRS Client, would do the trick?

$srs = new openSRS($'live', 'XCP'); 
$cmd = array(
    'action'     => 'NAME_SUGGEST',
    'object'     => 'domain',
    'attributes' => array(
        'searchstring' => 'steak',
        'tlds'         => array('.com', '.net', '.org')
    ));
$result = $srs->send_cmd($cmd);

Let's improve on the scenario a little more. Wouldn't it be even nicer if there was a PHP library that wrapped the OpenSRS functions so that instead of having to write all the code above, you could make a call to a function whose signature was:

nameSuggest($searchTerm, $tlds, $server)

These are things I'd like to see.

The Plan

I think that having both documentation that included PHP examples and a library of functions that wrapped our APIs would make a big difference to a lot of people who use our services. The problem is that our developers have their hands full with large projects.

That's where I come in. Part of my job description as Tucows' Technical Evangelist is to make it easier for developers to integrate their projects with Tucows' services. Writing the extra documentation and the wrapper library easily falls under that description, and it'll also give me some more stuff to write about in this blog.

I've got some stuff to wrap up by the end of this week, but on Monday, I shall begin the process of putting together the wrapper library, and the documentation shall be based on it. I'll chronicle my progress here on the Tucows Blog. As the work progresses, your input is most welcome, whether in the form of questions, comments or even code.

Got any questions, opinions or suggestions on this plan? Let me know in the comments!

Tucows Sponsors Toronto Transit Camp

Toronto Transit Camp banner

Tucows will sponsor the upcoming Toronto Transit Camp, a one-day “unconference” in which various designers, transit geeks, bloggers, visual artists, tech geeks and cultural creators will gather to discuss, collaborate and brainstorm ideas about the Toronto Transit Commission, the third most-heavily used transit system in North America, and a resdesign of its website in particular. We like being involved with our community and are pleased that we can help with this grassroots initiative.

For more details about Toronto Transit Camp, you can visit the official Toronto Transit Camp website. There's alsoo a pretty breezy writeup of the event over at my personal blog, if you're interested.

Industry News: Domains

Here's some recent news concerning domains and domain names…

Using Domain Name Registrations to Find Out Who the American Idol Semi-Finalists Are

'American Idol' logo.

Although the cross-country auditions for the reality television show American Idol took place a couple of months ago, they're being aired (and watched by millions) only now. Those who pass these auditions are then sent to Hollywood, where their numbers will be pared down to about 40 semi-finalists who will then compete in the regular Tuesday/Wednesday night series.

Reality TV fans are an inquisitive and impatient bunch and like to get as much inside information about the people on their shows as possible. Reality TV Magazine is doing a good job catering to their readership by doing some sleuthing; they've come up with a list of American Idol contestants who are likely to be in the semi-finalist pool by watching registrations of contestant names as domain names that were made in mid-November, right around the end of the Hollywood elimination round.

I'm not going to give away the likely semi-finalists' names, but if you're an insatiably curious American Idol follower, they're listed in this article titled American Idol Spoiler – More Semi-Finalists Revealed By Domain Names.

Seth Finkelstein: “Why the .xxx would anyone want a top-level domain for porn?”

Computer programmer and activist Seth Finkelstein has an article in today's edition of in which he asks why anyone would want the .xxx top-level domain.

His answer is that there's no good reason for .xxx to exist. Seth argues that it's yet another chapter in “the long history of rating and labelling”, in which already tried ideas [such as the .sex domain -- see the IETF memo titled .sex Considered Danegrous] are being reinvented, badly.” He also argues that the people who would rush to buy .xxx domains would be either defensive purchasers who want to protect their trademarks and domain name speculators.

“.um” Dumped

ICANN voted unanimously to remove the .um top-level domain — for U.S. minor outlying islands. There are still separate domain names for the larger ofthese islands such as .gu for Guam and .vi for the U.S. Virgin Islands. This deletion reduces the number of TLDs to 264.

Domain Name Changes and Search Engine Ranking

“If I change domain names and keep the identical website on the new domain,” writes one of Kalena Jordan's readers, “how will search engine ranking be affected?”

Kalena's answer:

Technically, your new domain is treated as a brand new site, regardless of whether the content you use on it has been published on another domain and therefore, Google will subject it to the aging delay for new sites.

Her advice:

Job Opportunity at Tucows: NOC Analyst

NOC Analyst: picture of Tom Cruise in 'Mission Impossible' being lowered into the CIA's NOC, with two squishy cows assisting him.

Here's another job opportunity that's opened up at Tucows: NOC Assistant. The details are below — if you're interested, email your resume and a cover letter (make sure that NOC Analyst is the subject line of your email) to our HR Department at hrdept@tucows.com!

Join our group of talented Analysts in monitoring, analyzing and resolving system and network troubles.  Bring your technical expertise in:

  • Configuring and maintaining UNIX servers
  • TCP/IP concepts
  • DNS
  • RAID technologies
  • Email protocols
  • LDAP
  • Web server farms
  • Backup and recovery technologies
  • Shell scripting

To complete your skills you possess post-secondary education in computer sciences or engineering, and 1-2 years experience with the technologies.  In addition you have strong problem solving and analytical skills, excellent verbal and written skills, and proven time management skills that will aid you in our faced paced production environment.  We’re also looking for flexible individuals, as our NOC Center operates 24×7x365 – applicants must be available to work rotating shifts and on short notice.

Industry News: Email

Comic: 'Didn't you get my email?'.

And now, some email related news tidbits…

Job Position Open: Product Manager, Email Services

'Email Services Product Manager': Squishy cows gathered around a computer displaying an image of a mailbox.

What is “Email Services”?

We've got a job opening for a product manager for Email Services, which comprises two of our biggest services:

  • Hosted Email: Lets you offer email service to your customers without the hassle. As the name implies, we host and maintain the email server, while you manage email accounts via a web interface or API. We take care of the headaches of running the system, so you can concentrate on taking care of your customers.
  • Email Defense: Our anti-spam/anti-virus service, which you can use in conjuction with either our hosted email service or any other email service out there. As with hosted email, we run the system and maintain it, you provision the service and focus on customer service.

What We're Looking For

We're looking for the right person to manage these services, boost the profitability of our email portfolio and develop new email services to offer to our partners. If you've got an understanding of email and the email business, the skills and creativity to develop new services on our email platform and the experience and industry contacts to back you up, we've got a job for you!

As the product manager for Email Services, you'll be working with a number of different people within Tucows:

  • Business analysts, to determine requirements.
  • Developers, to turn those requirements into reality.
  • Marketing (which includes me), to figure out things like the go-to-market strategy, and to help them understand the product positioning, key benefits and target customer.
  • Sales, to help them sell email services.
  • Key customers, who may have special requirements and feedback.

Key Responsibilities

Responsibilities of the position include:

  • Managing the entire product life cycle from strategic planning to tactical activities, from launch to retirement of the product within your portfolio.
  • Justifying new business lines through market demand assessment and financial justification.
  • Specifying market requirements for current and future products by conducting market research supported by continual contact with customers and prospects.
  • Act as a subject matter expert for the products within your portfolio to the company.
  • Continually assess and improve on the success of your portfolio with key stakeholders.
  • Developing and implementing launch plans for new products, working with all departments to execute.

Ideal Candidate Profile

The ideal candidate for the position will have these qualities:

Related Experience / Unique Skill Set

  • 3 or more years' worth of experience in product management
  • Knowledge of technology, and yes, extensive experience with email is preferred

Education

  • A post-secondary degree, preferably in business or computer science.

Interpersonal Skills

  • You must possess a unique blend of business and technical savvy; a big-picture vision, and the drive to make that vision a reality.
  • You must enjoy spending time in the market to understand their problems, and find innovative solutions for the broader market.
  • You must be able to work with minimal supervision and be capable of exercising independent judgment across a broad range of situations.
  • You must demonstrate an ability to learn new technologies quickly.
  • You'll need superior verbal and written communication skills.
  • You'll definitely need excellent time management and organizations skills, and a high comfort level in an ever-changing, fast paced environment.
  • You must have the ability to work collaboratively as part of cross-functional teams.

Does This Sound Like the Kind of Job For You?

If it does, please email and resume and cover letter to hrdept@tucows.com; make sure that the subject line contains Product Manager, Email Services.

Recommended Reading

Be sure to check out our pages on hosted email and Email Defense.

Squishy Cow on the Cover of "Quick & Simple" Magazine

Cover of the Jan. 30, 2007 'Quick & Simple' magazine, featuring the Squishy Cow.

The Tucows Squishy Cow certainly gets around! The latest sighting is on the cover of this week's Quick and Simple magazine, a weekly produced by Good Housekeeping, where she's used to illustrate the cover story, Goodbye Clutter!.

(Yes, I know that the Squishy Cows are manufactured by a company that sells them to companies other than Tucows, but I still think of the Squishy Cow as ours.)

For more Squishy Cow sightings, go check out Flickr; you'll find them tagged with either squishycow or squishycows.

True value trumps True Business

Extended Validation certificates are finally here. Geotrust added it to its retail product roster this month, and we've been asked whether we're following suit for our channel. The short answer is “yes”. There's a long answer too. (Which brings to mind my colleague, Adam's, plea, “Can't you Product Managers ever stick to short answers?)

The long answer is that EV certificates are meant for registered corporations. Despite a limited target market, EV represents true value to eligible applicants. EV's strong vetting procedures and enhanced browser visibility will do a lot more to inspire consumer confidence than True Business (a.k.a. High Assurance) certificates. EV certificates are far from perfect, but they are a big step in the right direction.

Previous generation SSL certificates don't quite do the job.
 
Why? Digital certificates are expected to play two roles: they protect communications between a web server and a person. And, they assure site visitors that they are dealing with a legitimate entity. We all know certificates have been doing a pretty poor job fulfilling the latter role. Phishers can easily pose as a legitimate entities and obtain a certificate. EV certificates raise the bar - increasing consumer confidence by making it harder for illegitimate entities to pose as legitimate ones. (By the way Larry Seltzer over at eWEEK took this argument far further than I have. His pragmatic perspective is a worthy read.)

I expect the concept of Extended Validation to evolve. EV certificates may serve a small portion of the market for now, but we're finally seeing some standardization in the SSL industry. AND some constructive collaboration between CAs and browsers. This is a good thing.

A Look at the "Eater" Blog

Eater

Banner for the 'Eater' blog.

One of the things for which New York City is known is its vast selection of places to go out for dinner. It's only natural for one of the world's most populous cities, a world economic and cultural capital and a place where kitchens are barely larger than broom closets and where many people use their ovens for extra storage space instead of baking, broiling or roasting (I know a number of women in New York who used their ovens as extra space for shoes).

It's only natural that the city that never sleeps would give rise to a number of blogs that discuss its dining scene. The restaurant blog that's currently getting the most attention is Eater, a blog started by Ben Leventhal and Lockhart Steele. Neither of these guys is a stranger to the world of locally-focused gossip blogging; Leventhal is the editorial director of the New York neighborhood and real estate blog Curbed and Steele is the managing editor at Gawker Media.

While Eater will point you to reviews of New York City eateries, “food porn” isn't its focus; the restaurant business is. The blog is about the life cycle of New York's restaurants: which ones are opening soon, whose star is rising or falling, who's going out of business and the PR tactics being employed by restaurants and their publicists. Eater harnesses its readership by getting tips from them and turning them into blog entries, which gives it a timeliness that no restaurant review section in a magazine or newspaper can match. This approach has earned them a fanbase of local readers and diners and the chagrin of restaurant publicists, whom like other PR people have been sideswiped by the phenomenon of word-of-mouth marketing and blogs in particular.

Links:

Good Ideas to Steal from Eater

If you have a blog or are planning to start one (and hey, our Blogware platform's a pretty good one to use), here are some things that Eater does that you may want to emulate…

A Good Domain Name

Even in the age where most people land at your site by way of Google, there's still of a lot of value in a good domain name. Yes, many of the good ones are taken, but there are still some gems out there, if the suggestions from my Duke of URL application are any indication.

Choose a topic that lines up with your area of expertise.

Both Eater guys specialize in New York goings-on, with Leventhal being an expert in New York neighbourhoods and Steele being associated with the city's number one gossip blog. Combined with their own interest in restaurants, they're able to speak knowledgably about their subject matter.

Choose a topic that people will find interesting.

New York is has a strong restaurant culture, thanks to its concentration, reputation as a tourist city, economy and the near-claustrophobic size of most apartments, so a blog about the the comings and goings of its restaurants is sure to attract an audience.

Focus.

Eater doesn't stray from its focus: it's concerned primarily with the state of restaurant businesses in New York City. Who's opening? Who's doing well? Who's desperate for customers? Who's failing? Who's gone out of business?

Equally notable is what is conspicuously absent from its articles: pictures and reviews of food. Eater will point you to food reviews (there are a number of review links in the sidebars), but it sticks with its primary topic, which is the New York Restaurant business.

Harness the readership.

Both Eater guys have full-time jobs, and even if their working day was solely about Eater, there'd be no way they could know about every interesting resturant happening in New York City. Luckily, New Yorkers are more than happy to share tips and gossip about local eateries. Many articles in the blog begin their lives as email from readers about a specific eatery, and Eater makes it easy to submit a tip about a restaurant — there's a very visible “submit a tip” link near the top of the page. As the editor of the Dining section of the New York Times put it:

They are using the medium to do things other media can't do as well. A big part of it is tapping into the online army that will do a lot of work for them. I'm really impressed with how much information they are able to gather with almost no visible signs of reporting.

Use good design.

From the restaurant awning banner graphic to its good use of high-quality photographs and its clever integration of Google maps, Eater uses design to its advantage. Note that most articles are embellished with a photograph of the restaurant, its menu or one of the people behind it. You may have also noted that important information about a restaurant in an article is prominently highlighted at the end of the article and includes a cleverly-integrated Google Map showing the restaurant's location.

(I should probably write a Blogware Mechanic article about integrating a Google Map into a blog article the way Eater does. I'll put that on my to-do list.)

Best blogging practices used by the 'Eater' blog.

Tucows Job Opportunities: Oracle DBA and Data Center Technician [Updated]

Squishy cow posing as a data center technician and an Oracle DBA.

We've got a couple of new job openings here at Tucows:

Read on for more details, and if you're interested, send your resume and cover letter to hrdept@tucows.com; be sure to mention the position for which you're applying in the subject line.

Oracle DBA [Update: This position has been filled!]

[This position has since been filled, but we're leaving the post up for reference.]

We're looking for an Oracle DBA — here's the info about the position, straight from the Human Resources folks…

Main Purpose

Primary responsibility will be the administration and pro-active management of a 24×7 Oracle Production environment. This position will require being part of a Tier 2 on-call rotation schedule. Your primary duties will encompass responsibility for various Tucows’ Oracle databases (with prime responsibilities for hosted messaging) including proactive monitoring and problem resolution, trend analysis, capacity planning and management, vulnerability management, procedure and configuration documentation as well as project participation for any new and related projects.

Secondary duties will likely include support and administration of other database technologies – specifically MySQL.

Key Reponsibilities

  • Plans, coordinates and administers matters related to all Tucows Oracle databases, including base definition, structures, documentation, upgrades, long-range requirements and capacity planning, operational guidelines and protection
  • Evaluates and executes requests for database configuration changes. Provides input to development and reporting teams to support efficient usage of Oracle resources
  • Ensures accuracy and completeness of data in master files and various support tools, such as base dictionaries
  • Establishes and maintains security integrity controls according to Tucows’ policies
  • Formulates and monitors policies, procedures and standards relating to database management
  • Will be called upon to plan and direct the following: troubleshooting, recovery, tuning of the database, software installation and upgrades, resolving Oracle errors and failures, auditing activities, and resource utilization
  • Secondary objective will be to take on the above responsibilities for MySQL and Postgres production databases on a timetable appropriate for the skill level

Ideal Candidate Profile

Related experience / skill set:
  • Minimum of 5 years of related experience
  • A seasoned and experienced Oracle Database professional with a full understanding of industry practices and company policies and procedures
  • Must be able to resolve a wide range of issues in creative as well as practical ways
  • Ideal candidate would also have experience as a MySQL DBA or developer
  • Will work on problems of diverse scope where analysis of data requires evaluation of identifiable and intangible factors. Must demonstrate good judgment in selecting methods and techniques for obtaining solutions
Educational requirements:
  • Successful completion of post-secondary education in Computer Sciences or Information Technology
  • Oracle DBA Certification considered an asset
Required interpersonal skills
  • Strong verbal and written communication skills
  • Attention to detail required, must be methodical and thorough in problem solving
  • Must be team-oriented with ability to work well with multiple teams in a cross-functional setup
  • Highly adaptable with ability to work in a fast paced demanding environment
  • Excellent time management skills to meet demanding timelines
  • Excellent planning and documentation skills
  • Self-motivated, with strong sense of ownership and urgency to deliver projects / tasks in a timely fashion

Data Center Technician

We're also looking for a data center technician, and here's the info about the position. Please note that this position involves travel to the UK and the US (a plus, in my opinion; I still like business travel), so it's open only to people who've got the necessary travel documents.

Main Purpose

As a Data Center Technician, you will be responsible for overseeing all Tucows collocation facilities with operational direction from the Data Centre Team lead. This includes adhering to defined Deployment standards, Change management processes and detailed documentation & inventory tracking.

Key Responsibilities

  • Adhere to deployment & change standards for all Tucows collocation facilities
  • In cooperation with the Data Centre Team Lead, maintenance of all related documentation including: to scale vertical rack diagrams (physical server/device layout for each rack); to scale ceiling rack diagrams (bird eye view of all racks); detailed power map (all circuits and type, attached PDUs, special connectors, etc.); remote power/PDU port inventory (for each server/device, what PDU(s) and port(s) are used); Ethernet cabling inventory (what Ethernet port used by each server/device); telecommunications service inventory/details
  • Assist with all deployments at collocation facilities including: space planning/expansion; power requirements/deployment; rack assignment for all servers/devices; maintain inventory of all hardware at each collocation facility
  • Candidate may be required to travel once a month on average to remote facilities in the US and the UK for 5 days at a time (excluding travel time) on average

Ideal Candidate Profile

Related experience / Unique skill set
  • 2+ years related experience with collocation facility management
  • Good understanding of electrical systems in a data centre environment including transformers, generators, UPS systems, PDUs, etc.
  • Good understanding of mechanical systems in a data centre environment including chillers, airflow fundamentals, deployment best practices, etc.
  • Good working knowledge of TCP/IP networking basics a strong asset
  • Some working knowledge of server hardware including installation of hard drives, motherboards, memory, hard drives, etc.
  • Windows and Linux Operating system experience an asset
Education
  • Ideal candidate will have at least 2 years of post graduate experience in hands-on facilities management in a Data Centre environment
Interpersonal skills
  • The ideal candidate will be able to maintain good relations with the NOC and Operations departments as well as the many vendors being managed to support the collocation facilities. The NOC and Operations departments would be considered the primary customer.
  • Strong verbal and written communication skills
Other
  • The candidate will be required to travel once a month on average to remote facilities in London and the US for 5 days at a time (excluding travel time) on average
  • Must have ability to travel freely to international destinations