Being an avid iPhone user, and receiving a few requests for our site to support a mobile format, making a Coupon Search Webapp for the iPhone seemed like a no brainer!
Specification:
First we researched what was possible in a webapp and that is basically anything that can be rendered as a small web page in safari browser. Armed with this information we sat down and decided what we needed the webapp to do.
We decided that we needed the search form functionality, the search results and coupon display. It was also thought to be a great idea to redirect anyone using an iphone or ipod to be redirected to the iphone version of the site.
Implementation:
First cab off the rank was the redirect. After some research, javascript supports a userAgent matching function:
<script language=javascript>
<!--
if((navigator.userAgent.match(/iPhone/i)) ||
(navigator.userAgent.match(/iPod/i)))
{
location.href='http://www.couponmeup.com/iphone/';
}
-->
</script>
We used this code to redirect the user to an alternative homepage which is designed specifically for the small screen.
Beyond our homepage, most of our site is dynamic and generated using PERL scripts and mysql databases. To lower the overhead of implementing basically a new site, we used some PERL code to detect the device the user is using and change the template which is displayed for the user.
my $userAgent = $ENV{"HTTP_USER_AGENT"};
if (($userAgent =~ m/iPhone/i)||($userAgent =~ m/iPod/i)||($iphone eq '1')) {
We also added a variable that can be specified on the command line to get the system to display an iPhone template when viewed in a normal browser which helped a lot in testing.
We then created templates for all of the required pages using the same variables that are available in our full templates and we are able to maintain a single set of code with two templates. This also easily allows us to create another version of the site for say Blackberry at a later date with minimal work.
We have now created a framework for mobile coupon browsing that should be easy to work with and expandable to a range of devices.
Want to see the end result? Visit CouponMeUp.com with your iPhone.
- —
- 22 May 2010 09:19
- leave comment
WordPress is an popular blogging and publishing platform which users can build advanced functionality into their sites with plugins. If you’re interested in building a community around your site, here are some Wordpress Plugins that might be useful if you are setting up your own site that can help you create a community/directory/membership site and your content.
(
Read more...
)
SVG: What's Missing on the Web
You can be forgiven for never having heard of SVG, or scalable vector graphics, even though they've been in development since 1999 and in release since 2001. In short, SVG is an open standard XML file format that graphical and web developers can use to describe graphical constructs like lines, polygons, circles and other shapes, along with their characteristics. Since it is fully extensible, future SVG standards will include more powerful video capabilities. SVG received broad support throughout the web development community, but for reasons that can only be guessed at, Microsoft never included the capability to display these files in its market-dominating Internet Explorer browser, putting web developers in the difficult bind of whether to bother utilizing a format that the vast majority of web users wouldn't be able to view without a special plugin.
Why SVG?
SVG is a superior file format for displaying graphics on the web for several reasons. First and foremost, it's an open standard that can be utilized by any party without restrictions of any kind. In addition, SVG files are generally smaller than JPEG files or other similar formats. This makes SVG a particularly efficient format for use by mobile devices, such as the iPhone, which have the capability of displaying SVG files without a third-party add-in. The SVG standard is also backward compatible, meaning if a future version of the standard is released that an SVG rendering application doesn't support, it will simply render what it can and ignore the rest. Marketers will be able to take advantage of SVG's format to more easily index images and optimize them for search engine placement. Vendors of assistive technologies such as screen-readers may be able to utilize SVG to give their users a better understanding of the screen and its layout.
The Microsoft Effect
With all those positives, you may be wondering why Microsoft seems so reticent regarding integrating SVG capability into Internet Explorer. The general consensus, accurate or not, seems to be that Microsoft was hoping that its Silverlight technology would ultimately supersede SVG. Although Silverlight has come a long way in multimedia applications, for simple vector graphics, developers would still prefer something simple but extensible like SVG. In fact, a member of Microsoft's team has now been accepted to the W3C's SVG working group. He is now a member in good standing, and developers are hoping this bodes well for SVG in IE 9. The company has had no comment on the matter, neither now nor over the past nine years as SVG was passed over for inclusion in their flagship browser again and again.
(
Read more...
)
An online website is an extremely effective way of reaching customers, but often businesses fail to make the most of their website. In this article we'll provide some tips on how you can improve website conversion rates.
One thing that you should be clear on before we go any further is that improving website conversion rates isn't something that only matters to e-commerce companies.
Websites can also form an important part of your company's customer retention strategy; the 'conversions' that you track can be customers who return to leave feedback, people who sign up for regular newsletters and promotions, or a whole wealth of actions that could prove useful to your business over time. Even if you only build good feeling with your website, the improved brand awareness can still lead to a sale further down the line.
Anyway, moving on swiftly, here are a few key aspects that can help you improve your website conversion rate - whether that means more customer interest or an actual customer sale:
Know your customer: A better understanding of the customer is essential to improving your conversion rates. Dig deep into your web analytics to track click patterns, user behavior, referral sites - anything you can find. It can all prove extremely useful in knowing just why people are on your site in the first place and why they are or are not taking the actions you want them to. Working out why people aren't converting in the first place is a pretty fundamental step.
Don't neglect self-promotion: There's a lot of competition on the web and users are notoriously impulsive in their browsing habits. It doesn't matter if you've got a great reputation if people haven't heard of you. Make sure that if you have good feedback, industry awards or some kind of proof that your business is the best at what it does, then anyone who visits your site will know it by the time they leave.
Be clear about what you do: People rarely throw money at things they don't understand. Well, things they don't think they understand (there is a small but important difference after all). You should clearly explain what you offer and what the customer would be doing when they 'convert' - and you should never, ever be unclear about anything that might affect your customer. People who feel in control are more likely to take action.
Commit to testing: Don't put half-baked strategies into action on your website. Using what you've learnt about your customer, seriously consider what you can do to improve your site before you take any action. Then once you've taken it, commit to it - see how rates are affected over time. You can experiment by all means but make sure that the experiment runs for long enough to be worth doing and make sure that it has a chance to make a change in the first place.
As you, all knew we shifted from Trac to Redmine for project management (issue/ticket tracking, source control management, mileposts). I am egger to tell few revealing facts experience at Redmine comparatively to th at of Trac setup my previous location.
I have concluded from the Trac mailing list and further discussion on the comments by some core developer is that the prime objective of Trac is to generate or build a basic static or groundling an extendable with the use of plug-in, which is a supreme mission statement. It poses but in it, as if once you are managing numerous Trac installations at a time, this scope turn out to be against you in an agile manner, though I miss few important things in Trac.
MULTIPLE PROJECTS
The initial ground for moving to Redmine was of the lacking sustained for multiple projects at Trac. I am sure you can hack Trac (see track- hacks) to let in multi project support, but still I do not prefer hacking. There were various discussion how (and if) Trac should enforce multi-project support concept: there lies no “out-of-the-box” resolution. I study something about Trac v2.0 supporting this, so I may suppose we will find that in around 2015 or so.
Whereas best thing about Redmine is, it does affirm multiple projects. The desegregation throughout the entire system is top-drawer. It allows you to create nuzzled subprojects and move issues/tickets from one to another project. Even for each project, one is free to assign different users and turn a few functionality (milestones, source control, time tracking) on and off which is additional icing to the sugar.

( Read more... )
What is one of the most challenging issues for bloggers who want good standpoint from search engine? It’s canonicalization, a process of converting the data with more than one representation into the canonical standard. Bloggers concern very much with this issue this process that will define the duplicate content of blogs or otherwise through the so-called algorithms work to sort the data repetition in order. Yet, this hot issue has been tactically responded through the redirecting the blogs from www to non-www or conversely.
In fact, the URL canonicalization is a long topic of discussion where people in common make a mistake to understand about. URL canonicalization is believed unable to go beyond www and non-www. Yet, the know-how basics are still out of the track. Let’s discuss this topic to get a precise insight on URL canonicalization in relation to an effort of redirecting www to non-www or vice versa.
A problem of 301 Permanent Redirect plugins
We normally find within the plugin directories of WordPress similar utility for redirecting www with 301permanent redirect. Actually, most of these plugins are not helping much to make URL canonicalization effects come away from our blogs, since one version include the functionality of Apache-based redirection, 404 monitoring, and many more. I do not need to mention the names of other remaining plugins due to the fact that they are superfluous. Furthermore, some of these redirecting options could distract the performance of your WordPress blogs.
The case is basically not the simplicity of the redirection tools available in the plugins. Using such plugin to remove the meta data header tags from the given standardized WordPress header doesn’t allow modifying the codes that have been set up. If only it is possible, we can simply upgrade and that will serve what we want from redirecting effort.
Here you a typical WordPres redirection taking the following process.
Web browser → Web server → WordPress(PHP) → MySQL
Since the data is within MySQL database, we need to through these steps and thereby every adds could delay the on-the-way process. The opposite redirection steps will be simply otherwise where the delay occurs in every single step.
When the web server is already optimised, it will neglect the necessity of using PHP to process static files and others. It means that you have already added your CPU and server with unnecessary memory usages. As a result, the effects of redirection are not only delayed-time use, but also the basic principle of performance wisdom itself. In short, we have to stay away from using the WordPress core plugins to redirect www to non-www and conversely. No way!
( Read more... )
- —
- 04 July 2009 12:30
- leave comment
Has any ever said to you “if you work hard, then you will succeed in whatever you do”? And then what happens when you don’t work hard?, Well, you will fail it’s as simple as that. This is an example of an if/else statement.
- If you work hard then you shall achieve whatever it was that you had set out to do.
- Else, if you don’t work hard, then you will fail and shall not be rewarded for your lack of effort.
Someone comes to your website and you want to ask this particular visitor if this is their first trip to your website. With an if statement this is easy enough to do. Simply have a statement to check off, “are you visiting this webpage for the first time.” If the condition statement is true then have them directed to the “insert your name” page, else let them view the website as they normally would because you have already asked them for their name in the past.
( Read more... )
- —
- 05 May 2009 05:39
- leave comment
If you want to learn the premiere functions of a php, simple follow this short tutorial and everything should be clear. The prime goal of this tutorial is to teach you the reader the basics so that you can
• Customize the scripts you download, so that they fit your needs
• Begin to understand the workings of php, so that you can design your own model of the php projects
• Give you a base of php, so that your are deemed more valuable with your future employers
First you need to know what php stands for which is translated to (php hypertext preprocessor)
What is PHP?
It’s an html embedded scripting language mainly designed for producing web pages, created by Rasmus Lerdorf in 1995. The purpose of the language is to allow web developers to write web pages quickly with. In this PHP lessons you will see it.
This might be a good definition. Although it does contain a lot of computer talk, instead of these terms, just think of php as a powerful behind the scenes scripting tool that your web visitors won’t ever see.
When people visit your php webpage, your web server processes the code. It then sees what it needs to show such as content text and pictures and hides the computer language stuff such as the math calculations and file operation, then translates this into html style. Once the translation is finished it then sends the webpage to your visitor’s web browser.
( Read more... )
This Ajax tutorial is a term for a type of programming made popular in 2005 by goggle.com and other big web developers. It loosely stands for Asynchronous JavaScript and xml, which sounds like a whole bunch of techno lingo to your average person. In plain words, in this tutorial we show that Ajax can be thought of as JavaScript on drugs.
Ajax- JavaScript on drugs
When JavaScript first came out, people loved all the cool things you could do with the web browser to make it a more user-friendly experience. You could do many things from validation, quirky popup messages; make cool web tools and much more. However, JavaScript had no way of sending information back and fourth between the web browser and the web server.
If you wanted to get any information from a database on the server, or to send user information to a server script like php, you had to make an html from to Get or Post data to the web server. The user would then have to click submit, and then wait for the server to respond, then a new page would load the results. I’m sure everyone has gotten slightly peeved for having to wait for especially slow websites.
Ajax attempts to remedy this problem by letting JavaScript communicate directly with the server, using a special JavaScript object such as xmlhttprequest. With this object, you could have JavaScript get information from the server without having to load a complete new page.
( Read more... )
For example I could use the this keyword in C# like this:
class Cat {
string _name;
public Cat(string name) {
this._name = name;
}
}In the above example you see this illustrated. In C# and Java, this always refers to the class instance.
So, knowing this you would probably assume the same would be true of object oriented programming in JavaScript and it's this keyword. This is, however, not the case. Like a lot of things about writing object oriented code in JavaScript, this behaves differently in some situations. this does not always refer to the class instance depending on how you use it.
function Cat(name) {
this.Name = name;
}
In the above object oriented programming example it works just like our C# example but look at a situation where things can go wrong if you are unaware of some rules.
( Read more... )
- —
- 24 April 2009 02:24
- leave comment





