Blog
RSS feed

PartyGuide Switzerland Case Study

Featured Site: PartyGuide Switzerland
Where? http://www.partyguide.ch/
Developer: PartyGuide.ch AG
The Site

PartyGuide SwitzerlandWith over 340,000 members, PartyGuide Switzerland is the most visited social networking site aimed at German-speaking young adults in Switzerland, Germany, and Austria. The site features event calendars for entertainment; chats, blogs, and forums; and connections with other members through email, alerts, or instant messaging. PartyGuide also provides space for photo sharing and features advertising targeted at young adults. The site experiences over 128,000 visits per day.

pgmail.chPartyGuide.ch recently completed extensive site renovation, with Microsoft® Windows Live Services replacing a number of existing functionalities. Windows Live ID is now the primary identity and authentication system for both existing and new members. When logging in with Live ID, the member automatically has use of Live Messenger and a free Windows Live Hotmail account within PartyGuide's domain (see bottom graphic). In addition, members can customize Windows Live Alerts to receive content from other members in real time on their desktop, mobile device, or by email. Windows Live Contacts permits members to share their Windows Live contact information with PartyGuide.ch while keeping control of their data through preferences and settings. Site owners plan to integrate other Windows Live services, including Virtual Earth mapping and Live Search, in the coming months.

Why the Windows Live Platform?

When upgrading the site's web services, the PartyGuide technical team had a number of options, but settled on a comprehensive overhaul built on the Microsoft Windows Live Platform. PartyGuide's Chief technical Officer Oliver Walzer cites several compelling reasons:

  • The chief benefit is the enormous reach of Windows Live ID users. Says Walzer, "With over 380 million users already owing Live ID credentials, it is easy for new members to register on our site and communicate with a very large community that already exists."
  • Windows Live Services are easy to deploy, Walzer claims. "We could redesign and deploy our new site much faster than with traditional website development tools. This saved resources and got the upgraded site online quickly."
  • The strong third-party Microsoft Partner developer network and online support provided specific technical help when needed. "The expert advice and code samples in the languages we use were extremely useful," Walzer explains.
  • The Microsoft brand is associated with scalability, reliability, and security. "We are confident that the Windows Live Platform will continue to grow and improve with time," says Walzer, adding, "and both we and our members will benefit."

Programming Environment

Walzer's team uses open source development tools and databases, programming primarily in PHP and JavaScript.

Under the Hood

The following code snippet shows how a new pgmail.ch account is created or reset using the Windows Live Admin Center service.

try{  
    //Init client and username
    $client=WindowsLiveAdminCenter::getInstance();
    $username=$member->getPgmailUsername();
    //Create user or reset password     if($member->getPgmail()==Member::PGMAIL_NONE) $client->CreateMember($username, $password, true, '', '', WindowsLiveAdminCenter::getLCID($member->getLanguage()));     else $client->ResetMemberPassword($username, $password, true); }catch(Exception $e){
    //Error handling }
------------------------------------------------
class WindowsLiveAdminCenter extends SoapClient{
    ...
    public function CreateMember($memberName, $password, $resetPassword, $firstName, $lastName, $lcid=''){         $this->__soapCall('CreateMember', array('memberNameIn' => $memberName, 'password' => $password, 'resetPassword' => $resetPassword, 'firstName' => $firstName, 'lastName' => $lastName, 'lcid' => $lcid), null, $this->getAuthorizationHeader()); 
    } 
    public function ResetMemberPassword($memberName, $password, $resetPassword){ 
        $this->__soapCall('ResetMemberPassword', array('memberNameIn' => $memberName, 'password' => $password,         'resetPassword' => $resetPassword), null, $this->getAuthorizationHeader());     }    
...
}
Published Wednesday, August 13, 2008 2:32 PM by JonB