Wednesday, May 25, 2011

Checkout the all new Hattrick iPhone App - HT-SmartViewer

Earlier this year the Lite version was released and now there is Full version of the HT-SmartViewer. The App is written for iPhone it does work on iPad as well though.


The App is still free of charge and comes with tons of new stuff. Below are links to the articles that write about the features.

1. HT-SmartViewer The Home Screen/Social Media
2. HT-SmartViewer League Infos Feature
3. HT-SmartViewer Match Data Feature
4. HT-SmartViewer Match Stats Feature

The App Homepage is here: HT-SmartViewer Home. The App can be downloaded directly from the Apple AppStore here: HT-SmartViewer in the AppStore.




Based on user feedback and our own ideas the App will be extendend with new modules like conference, team and youth team infos, national team etc.

Tuesday, May 10, 2011

Objective C/Xcode 4: Check at runtime whether iOS device supports multitasking

Introduction


When I was recently in search for a code snippet that tells me whether the iOS device that the code is running does support Multitasking I quickly found some answers. All the answers seemed to be missing something though.

So below the solution I came up with, that satisfies all my requirements to check for multitasking of my iPhone/iPad/iPod device at runtime.

Difference between multitasking support of the SDK version and of the device version


Since version 4.0 iOS supports multitasking. Read more about it in this interesting article: Understanding iOS 4 Backgrounding and Delegate Messaging.

Even though you have iOS 4.x on your iPhone 3G it doesn't support multitasking. Multitasking is supported from iPhone 3GS and iPod touch G3 (both released in 2009) but not previous generations like iPhone 2G or 3G due to hardware limitations. Read more here: Apple announces multitasking for iPhone OS 4

The Code

//get the current device object
UIDevice* device = [UIDevice currentDevice];

//check if the currently running iOS knows the isMultitaskingSupport message (method)
if ([device respondsToSelector:@selector(isMultitaskingSupported)]){
        
        //check if the current device does actually support multitasking
        if ([device isMultitaskingSupported]) {
            //do some multitasking stuff

        } else {
            //deal with the lack of multitasking 

        }
        
    } else {
        //deal with the lack of multitasking 
    }

Wednesday, May 4, 2011

Bugzilla and Gmail: Send mail notifications/alerts via Gmail

Bugzilla is an Issue Tracking System that can send email notifications to its members. Most important Bugzilla sends an Email to the bug reporter or assignee of a bug. Bugzilla does support SMTP to send email notifications. That can be set when you are logged in as an administrator under Administration > Parameters > Email.

If you want to configure Bugzilla to use Gmail you have to consider that Gmail doesn't use standard SMTP, Gmail is using SMTP with TLS. I tried this tutorial BugZilla alerts using GMAIL, but I couldn't get it running and I found it somewhat confusing.

So I digged a little deeper and came up with my own more easy solution using Email::Send::Gmail rather than Email::Send::SMTP::TLS as described in the other tutorial. The steps are done with Bugzilla running on Apache2.2 Server with a Debian Linux OS. The instructions should be similar for other Linux distributions like Ubuntu, Fedora or RedHat Linux. Be awate if you run Bugzilla on a Windows Server especially the folder structure is different.

Install the Email-Send-Gmail package for Pearl


If you have Bugzilla installed and running then you have Pearl installed properly. Start the pearl command line.
# perl -MCPAN -e shell
Run the install package command for Email-Send-Gmail.
cpan[1]> install Email::Send::Gmail
Confirm all questions with 'yes'.
If everything is done leave the command line.
cpan[2]> quit

Optional Fix: Warning (usually harmless): 'YAML' not installed...


I fixed that by entering the below command in the regular command line:
# sudo apt-get install libnet-ldap-perl

Confirm Email-Send-Gmail was installed properly


Login as administrator into your Bugzilla and go to Administration > Parameters > Email.
You should be able to select an entry called "Gmail". Select it and save the changes for now.

Change Mailer.pm


Now we need to change the Bugzilla Mailer.pm to pass on the right parameters when sending emails via the new pearl package.

Go to your Bugzilla root folder on your server. For me that is /var/www/bugzilla.
# cd /var/www/bugzilla
In the subfolder of your Bugzilla root is another folder called Bugzilla. In this folder the Mailer.pm is located. Open it with the editor of your choice, e.g. vim or nano.

# nano Bugzilla/Mailer.pm

After the last line that starts with use enter:
use Email::Send::Gmail;
use Email::Simple::Creator;

The line that says:
if ($method eq "SMTP"){
change to:
if ($method eq "SMTP" || $method eq "Gmail") {
Save your settings and you are done here.

Configure Bugzilla's Email settings


Now again as an administrator go back to Administration > Parameters > Email in your Bugzilla.

mailfrom:
username@gmail.com or username@your_domain.com (if you use your own domain via Google Applications)

smtpserver:
smtp.gmail.com

smtp_username:
username@gmail.com or username@your_domain.com (if you use your own domain via Google Applications)

smtp_password:
your Gmail password

smtp_debug:
You might want to turn on debug to see if sending mails is working. if not you should get a debug message that should help you better narrowing the error down. When everything is working you can turn debug off.

Save your changes and you are good to go. Let me know if you run into problems.