Uncategorized (17)

Seeing Where Your Website’s Readers Go at Your Website

When users visit their site, how do you know which pages they are clicking on? In this short tutorial, I will show you how to find this out, visually, using Google Analytics. If you already have a Google Analytics account setup, it only takes a few minutes. If not, it may take a bit longer, but in terms of actual time spent, is probably still less than fifteen minutes.

Step 1: Install Google Analytics for Your Website

Go to Google Analytics and login using your Google Account. If you do not have one, create one. Then, select that you want to add a site. Follow the steps and it will give you some Javascript code that you will have to have your webmaster add to your site. Once added, it will track every user that visits your site and what that user does. If you need more directions on this, please view an extended tutorial on setting up Google Analytics. The entire process can be completed pretty quickly if your site has a common header/footer file that the code can be added to.

Step 2: Use Google Analytic’s Site Overlay Feature

There’s really not much work, here. Just follow the steps below to get to the site overlay feature. You can see a screenshot below.

1) Go to Google Analytics (analytics.google.com)

2) Click on you site from the list.

3) Click “View Report” next to your site.

4) Click “Content” on the left side

5) Click “In-Page Analytics” on the left under “Content”

6) And that’s it. You should get something like the image below (click on it to see a larger size). Be sure to select the date range that you want to analyze.

Cool, huh?

  • Share/Bookmark

The Intersection of Mobile Devices and Computers


Over the past ten years, I have programmed software for a number of platforms using a number of different technologies. During this time, I have began to recognize some fascinating trends in software development. Namely, everything is moving towards the web. In this paper, we will look at the different mobile and desktop computers that consumers use. Then, we will explore how they all are converging on the web as a common platform. Finally, we will look at what this means for businesses, IT managers, and consumers.

Overview of Mobile Devices

There are a number of types of mobile devices, but for our purposes, we will be specifically analyzing mobile phones. We will be essentially ignoring tablet computers because, by and large, tablet devices either run the same operating systems as mobile phones or the same operating systems as desktop computers, so we will already be covering their platforms either directly or indirectly.

Distribution of Platforms

Right now, there are a number of operating systems running on mobile phones, though, according to late-2010 data from Gartner, a technology research and advisory company, there are four key players: Symbian, Android, Blackberry (RIM), and iOS (Gartner Says Worldwide Mobile Device Sales to End Users Reached 1.6 Billion Units in 2010; Smartphone Sales Grew 72 Percent in 2010, 2011). You can see their complete data table below. Keep in mind that there are other mobile platforms in use, but with their market share so low, they are not worth exploring.

Mobile Operating




2010 Market Share (%) 2009


2009 Market Share (%)
Symbian 111,576.7 37.6 80,878.3 46.9
Android 67,224.5 22.7 6,798.4 3.9
Research In Motion 47,451.6 16.0 34,346.6 19.9
iOS 46,598.3 15.7 24,889.7 14.4
Microsoft 12,378.2 4.2 15,031.0 8.7
Other Oss 11417.4 3.8 10432.1 6.1
Total 296,646.6 100.0 172,376.1 100.

Source: (Gartner Says Worldwide Mobile Device Sales to End Users Reached 1.6 Billion Units in 2010; Smartphone Sales Grew 72 Percent in 2010, 2011).


Symbian devices currently account for close to 38% of the market (Gartner Says Worldwide Mobile Device Sales to End Users Reached 1.6 Billion Units in 2010; Smartphone Sales Grew 72 Percent in 2010, 2011). Right now, all versions of Symbian include a web browser that is based on the Webkit engine (Symbian Web Browser versions and device support, 2010). Webkit is an open-source framework for processing web pages that is standards-compliant and in use by Safari, Chrome, and a number of other platforms, both for mobile devices and desktop computers (Welcome to the website for the WebKit Open Source Project!, 2011). Also, the newest versions come packaged with a version of Flash  (Symbian Web Browser versions and device support, 2010).


Android is an operating system developed by Google and sponsored by the Open Handset Alliance, an organization representing over eighty different mobile companies working together to streamline mobile computing (What would it take to build a better mobile phone?, 2011). It is probably rising in popularity faster than any other platform and, as a developer, I expect it to overtake Symbian in the next year or two. Android currently comes packaged with a browser that, like Symbian, is based on the webkit browser (What is Android?, 2011). Additionally, it has Adobe Flash available through the Android Market (Flash Player 10.2, 2011).


Blackberry is a product of the company Research in Motion. It currently holds a large market share, 16%, though it is losing ground from 19% in 2009 (Gartner Says Worldwide Mobile Device Sales to End Users Reached 1.6 Billion Units in 2010; Smartphone Sales Grew 72 Percent in 2010, 2011). It ships with a webkit-based browser, just like all of the other mobile platforms we have looked at (Developing The NEW BlackBerry Browser, 2010).


Apple offers an operating system for their iPad, iPod, and iPhone products called iOS (iOS Overview, 2010). When reading the statistics concerning Apple’s market share, keep in mind that this does not include their iPad or iPod product lines, so the number of devices running this operating system is actually much greater than this statistic shows. Apple’s iOS ships with a webkit-based browser closely resembling Safari (Android 2.2 Webkit Browser Faster than iOS Safari at Javascript, 10). Unfortunately, it does not come with flash support, though it can be obtained by illegally jail breaking an iOS device (Adobe Flash ported on to iPhone, iPad iOS 4 [Jailbreak], 2010).

Other Platforms

The only two other notable platforms that we have not yet covered are Windows Mobile and Palm OS. For the purposes of our discussions, all you need know is that they both represent a relatively small market share and their newest versions come equipped with a relatively full-featured browser (Palm WebOS 1.4 vs. Windows Mobile 7, 2010).

Overview of Computers

When we talk about computers, we are talking fundamentally about devices that are typically larger than phones and that do not run phone operating systems. Below is a chart showing the distribution of desktop operating systems. Keep in mind that this data is collected based upon how many people visit their website from one operating system or another, so statistics vary widely in this area. Wikipedia cites eleven different sources which all produce different statistics, but the overall distribution tends to be relatively similar (Usage share of operating systems, 2011). For our purposes, we will look at Windows and Apple because they are the only two operating systems that have a large enough market share to be worth mentioning.

Windows 87.03% 87.61% 87.23% 87.00% 87.03% 86.82% 86.59%
Mac 12.21% 11.72% 11.96% 12.27% 12.29% 12.42% 12.52%
Linux 0.58% 0.53% 0.64% 0.55% 0.52% 0.58% 0.65%
Undetected 0.17% 0.14% 0.17% 0.17% 0.15% 0.17% 0.22%
Other 0.01% 0.00% 0.00% 0.01% 0.01% 0.01% 0.01%

Source: (Operating Systems Market Share, 2010).

Microsoft Windows

Microsoft has been producing Windows since the year 1984 (The Unusual History of Microsoft Windows). It began as an extension of MS-DOS, Microsoft’s previous console operating system, and sought to add on a graphical user interface. Today, around 87% of computers with access to the internet use some form of the Microsoft Windows operating system (Operating Systems Market Share, 2010). Windows 7, their most recent rendition, ships with Internet Explorer version 8, a powerful and near standards-compliant browser (Windows 7 Features – Internet Explorer). Many new POS terminals and devices now include an installation of Windows 7 Embedded Standard, which is really just Windows 7. This means that many POS terminals likely have a web browser (Windows Embedded Standard 7).

Apple Mac OS

Apple began producing a graphical version of Mac OS in 1983 (The Graphical Age at Apple, 2004), just a little before Windows 1.0 was released. As you can see from the statistics, Microsoft Windows has been wildly more successful than Apple Mac OS, though Mac is making a steady comeback (Operating Systems Market Share, 2010). The most recent version of their operating system, Mac OSX version 10.x, includes an extremely powerful, webkit-based browser called Safari (Safari).

The Common Platform

If you have been reading this paper start to finish, by now you will have noticed a common theme between all of these platforms: they all ship with standards-compliant web browsers. In my personal opinion, this sort of convergence will mean big changes for businesses, IT managers and their customers. In this section, we will cite what industry experts are expecting in terms of these phenomena.

Change for Businesses

Dan Matthews, Chief Technology Officer of IFS, an Enterprise Resource Planning firm founded in 1983, believes that technology can help businesses to go green, though this presents a major challenge for businesses (Environment aware: How business can be green, 2011). As devices merge, I expect that we will see more and more mobile devices being used as point-of-sale systems, such as the square for iOS. This particular device allows you to turn a iPad, iPod, or iPhone into a credit card scanner (Square’s On-the-Go iPhone Credit Card Scanner Will Cost $1, 2010).

I think this is just one example of this kind of innovation, but as time goes on, we may see more and more of these sorts of accessories available. For instance, your point-of-sale application could be web-based and your credit card scanner could just be a simple keyboard. Then, you just get a different scanner for the different platforms that your business software runs on, but the underlying software never changes. I have personally programmed a loyalty card and gift card that works this way and is in use by close to twenty businesses, One Loyalty Network (Login Page).

Change for IT Managers

According to Donald Ferguson, Chief Technology Officer of software firm CA, the biggest problem today is the complexity of IT. He says that IT departments spend the majority of their funds supporting existing platforms. Because of all of the different platforms they have to maintain, this makes innovation very difficult (The mantra of CA Technologies’ Donald Ferguson: Simplify, 2010). Perhaps, with only one or two web applications to maintain in the cloud, businesses will be able to focus more on innovation and less on maintaining all of their different platforms.

Change for Consumers

Stephen Herrod, CTO and senior vice president of VMWare, said in a recent interview, “What I’m really excited about is how we let individuals choose the best device for what they want to do, how do we let them have the freedom to bring that productivity-enhancing device to work”  (VMware CTO on giving staff choice of their own devices, 2011). Here, I believe Stephen is beginning to discover that we will see desktop and mobile technologies begin to merge. He does also point out that, as these sorts of devices become more standardized, a major concern for the consumer is going to be how to keep their work-data secure and separate from their private data”  (VMware CTO on giving staff choice of their own devices, 2011). As consumers, we should keep this in mind as we look at our next IT purchase.


Because both mobile and desktop computers include web browsers, both platforms are converging on the web as a common platform for application development. This could mean big changes for the IT industry. Businesses, IT managers and consumers can expect to see more and more applications universally available through a web browser. For those entering the IT industry, learning basic web authoring skills could prove invaluable in the coming years, regardless of whether you personally work as a programmer, an artist or a manager. If you want to be successful in your career in IT, it is important that you stay on top of the trends. So, get on out there and start a blog, build a website, and otherwise seize the day! Your career will thank you.


Adobe Flash ported on to iPhone, iPad iOS 4 [Jailbreak]. (2010, 7 4). Retrieved 4 7, 2010, from TaranFX: http://www.taranfx.com/flash-on-iphone-ipad-ios-4

Android 2.2 Webkit Browser Faster than iOS Safari at Javascript. (10, 7 8). Retrieved 4 7, 2010, from Pocket Now: http://pocketnow.com/tech-news/android-22-webkit-browser-faster-than-ios-safari-at-javascript

Developing The NEW BlackBerry Browser. (2010, 8 4). Retrieved 4 7, 2011, from Inside Blackberry’s Developer Blog: http://devblog.blackberry.com/2010/08/developing-new-blackberry-browser/

Environment aware: How business can be green. (2011, 1 26). Retrieved 4 7, 2011, from BBC News: http://www.bbc.co.uk/news/business-12291673

Flash Player 10.2. (2011). Retrieved 4 7, 2011, from Android Market: https://market.android.com/details?id=com.adobe.flashplayer

Gartner Says Worldwide Mobile Device Sales to End Users Reached 1.6 Billion Units in 2010; Smartphone Sales Grew 72 Percent in 2010. (2011, 2 9). Retrieved 4 7, 2011, from Gartner: http://www.gartner.com/it/page.jsp?id=1543014

iOS Overview. (2010, 7 8). Retrieved 4 7, 2011, from iOS Developer Library: http://developer.apple.com/library/ios/#referencelibrary/GettingStarted/URL_iPhone_OS_Overview/_index.html

Login Page. (n.d.). Retrieved 4 7, 2011, from One Loyalty Network: http://oneloyaltynetwork.com/loyalty/users/login

Operating Systems Market Share. (2010, 4 1). Retrieved 4 7, 2010, from Stat Owl: http://statowl.com/operating_system_market_share.php

Palm WebOS 1.4 vs. Windows Mobile 7. (2010, 2 21). Retrieved 4 7, 2010, from The MX Web: http://themxweb.com/2010/02/21/palm-webos-1-4-vs-windows-mobile-7/

Safari. (n.d.). Retrieved 4 7, 2011, from Apple Developer: http://developer.apple.com/technologies/safari/

Square’s On-the-Go iPhone Credit Card Scanner Will Cost $1. (2010, 2 16). Retrieved 4 7, 2011, from Read Writer Start: http://www.readwriteweb.com/start/2010/02/square-iphone-scanner-1-dollar.php

Symbian Web Browser versions and device support. (2010). Retrieved 4 7, 2011, from Forum.Nokia: http://library.forum.nokia.com/index.jsp?topic=/Web_Developers_Library/GUID-D5C6212A-5EF2-44BF-B1F0-650A5F57D501.html

The Graphical Age at Apple. (2004, 2). Retrieved 4 7, 2011, from Kernal Thread: http://www.kernelthread.com/publications/appleoshistory/3.html

The mantra of CA Technologies’ Donald Ferguson: Simplify. (2010, 12 8). Retrieved 4 7, 2010, from BBC News: http://www.bbc.co.uk/news/business-11944966

The Unusual History of Microsoft Windows. (n.d.). Retrieved 4 7, 2011, from About.com: http://inventors.about.com/od/mstartinventions/a/Windows.htm

Usage share of operating systems. (2011, 4 5). Retrieved 4 7, 2011, from Wikipedia: http://en.wikipedia.org/wiki/Usage_share_of_operating_systems

VMware CTO on giving staff choice of their own devices. (2011, 3 9). Retrieved 4 7, 2010, from BBC News: http://www.bbc.co.uk/news/business-12682026

Welcome to the website for the WebKit Open Source Project! (2011). Retrieved 4 7, 2011, from The WebKit Open Source Project: http://www.webkit.org/

What is Android? (2011, 4 1). Retrieved 4 7, 2011, from Android Developers: http://developer.android.com/guide/basics/what-is-android.html

What would it take to build a better mobile phone? (2011). Retrieved 4 7, 2011, from Open Handset Alliance: http://www.openhandsetalliance.com/

Windows 7 Features – Internet Explorer. (n.d.). Retrieved 4 7, 2011, from Windows: http://windows.microsoft.com/en-US/windows7/products/features/internet-explorer

Windows Embedded Standard 7. (n.d.). Retrieved 4 7, 2010, from Windows Embedded: means that many POS terminals likely have web browser support

  • Share/Bookmark

Social Marketing With Twitter, Facebook, and the Facebook Markup Language

In the past few years, the face of marketing and, in particular, internet marketing has had some “silicon” surgery. We have seen the emergence of both Twitter and Facebook. As a web and mobile applications developer, I have the ability to offer a unique perspective on these changes because, on a daily basis, I write software that talks to Facebook and Twitter. In this article, I am going to talk about three cutting-edge social marketing tools that few people know about: Tweet Buttons, Facebook Like buttons, and the Facebook Markup Language.

First of all, what is Twitter? Twitter is a site in which celebrities, businesses, and other users can operate their own news feeds. For instance, Brittney Spears currently has over 6 million people signed up to short, live updates about her life (http://twitter.com/BRITNEYSPEARS). So, how does a company “market” on Twitter? Traditional forms, such as “banner ads” are not available because most users do not login to Twitter through their computer. So how does a business advertise? These days, the most common way is to have their own Twitter feed. For instance, NBC posts updates every 30 minutes concerning new shows (http://twitter.com/nbc). These updates are picked up by search engines, such as Google. Also, some users will follow along. Another, less known form of Twitter advertising is through “Tweet” buttons that can be displayed on a website. In this case, users can browse to your website and click a “Tweet” button. It then lets them post your website directly to their Twitter feed (http://twitter.com/goodies/tweetbutton). It is easy to integrate. Many joke websites, such as fmylife.com and failblog.org use this as a huge form of marketing because people feel the need to share the jokes with their friends. In terms of marketing ROI, the stats are incredible! It takes less than an hour to integrate and, provided users like your content, you could drive thousands of page-views to your product or website!

Like Twitter’s Tweet buttons, Facebook offers a Facebook Like feature (http://developers.facebook.com/docs/reference/plugins/like). This feature allows your users to post your website to their public profile. Then, their friends and family can see it, click on it, and post comments about it. For instance, one company I am working for, Sweetbees.com, is using it to drive traffic to their website. So far, it has worked great! Like the Twitter “Tweet” button, it takes less than an hour to install (sometimes more if you are new to the platform) and drives new customers to you automatically. Obviously, if you do not have a product that people want, it will not be useful, but it does have the potential to be extremely effective.

Though most people do their searches on Google or Bing, it is becoming increasingly trendy to use Facebook as a search engine, just like Google.  For instance, you type in “target” on Facebook and it takes you to Targets homepage. How? Facebook has invented a few technologies that allow you to specify what your website is, what contents it contains, and its “profile image.” Affectively, you turn your website into a Facebook page! Then, as soon as somebody posts it to their wall or hits “like” on it, it becomes a part of Facebook’s database. The more of your friends who like it or interact with it, the more likely it is that it will show up when somebody searches for it. It uses “friends” to decide what content is relevant (http://www.copyblogger.com/facebook-killing-seo/). So, how do you get your website setup for this? Its easy! You use “OpenGraph” protocol to say what your site is about. It is like HTML “meta tags”, but is more detailed and requires that you have a “logo image” (http://en.wikipedia.org/wiki/Facebook_Platform).

In conclusion, Twitter and Facebook are changing the way that we view the internet. They are opening up new opportunities for businesses to market themselves for next to nothing. I expect that, over the next few years, we will see Social Networks begin to become Search Engines. The line between email, search engines, and social networking may grow thing, and if you watch it closely, it will be a gold mine for internet marketers!

  • Share/Bookmark

One Loyalty Network Up and Running!

Hello! It has been awhile since I made a post. I’ve been brought on One Loyalty Network’s team (http://oneloyaltynetwork.com/) and have developed a HUGE application for them! It is a system that allows small businesses to have their own loyalty card, gift card, and cash back system! Not only that, your loyalty card is valid at multiple locations, as is your cash back! Anyways, just had to make a post. Its been a lot of fun and its looking great. This is probably the biggest system I’ve ever developed.

Stay posted! More features coming soon!


  • Share/Bookmark

A Nintendo DS Game!

Alright, I had a few spare hours and I threw together a Nintendo DS Game using DS Game Maker (http://www.dsgamemaker.com/). It was a great tool, all in all, but it did really require you to be a programmer.

The game:

1) You dodge birds using the arrow keys and they increase their speed over time. The longer you survive, the more points you get.

2) Click here to download the game. You will need to get a Nintendo DS Emulator to play this, such as nogba (here)

3) The source code is available here

Things I liked about DS Game Maker:

1) It had a great tutorial.

2) It was easy to install

3) I WAS able to create the game in a few hours, BUT I have created NDS/GBA games for years in C/C++.

Things I did not like about DS Game Maker:

1) It seems to have a number of small bugs that force you to reverse-engineer the generated “C” code. For example, the “BottomSprites[]” array is supposed to store sprite data but when you use the “createsprite” feature, it doesn’t automatically enter the data into that array. It made for a good hour of debugging!

2) Many of its features are poorly documented.

3) Too easy to hack. I could just change the main.c file or the header files to get around their private labeling. I wouldn’t, but a person could.

4) I wish I could just resort to “C” code sometimes. Maybe a “RAW CODE” feature could be added to allow for “C” coding by professional developers. That would attract some of your “big league” developers. Right now its not developed enough for an amateur to use, but not powerful enough for a professional. With a little more documentation and a few features, though, you could see some REAL games made on this platform.

All in all, its a promising application. I suggest that the developers get to documenting and attracting real developers.


  • Share/Bookmark

Tips and Tricks On Converting Addresses to GPS Location

I see people graphing addresses on maps all the time. For example, one of my clients, MyLocalAdSpace.com, had me do some work on their system. Here’s a quick “Q” and “A” for people who may be working with this sort of thing in the future:

Q: What’s the easiest way to lookup the gps locations of addresses and then put them on a map?

A: Google maps is by far the easiest and most prolific. Everybody uses it.

Q: Wait, but isn’t it just for nonprofits?

A: Technically, they say so, but I have never seen it enforced. Many businesses use it; as far as I can tell, Google loves the free advertising, but they just want the right to revoke it (again, they never have stopped a business from using it).

Q: Okay, so don’t they limit you to a certain amount of lookups per day?

A: Yes! Its like 15,000, though. You can use a server-side language like “PHP” to “cache” the different address lookups,  that way you never lookup the same address twice. For example, you could force the user to type in something in the form of a “city-state” combination and then “cache” all city-state lookups. Then, you would only lookup a city ONCE ever! Its very fast.

Q: When developing, any tips?

A: Write a “GPS” class that handles all of the gps-lookups throughout your application. Then, optimize it by caching all city-state lookups, zip code lookups, and address lookups. Also, have the configuration for the script (the “application key”) stored or configurable within the class. I’ve seen people hardcode this in throughout the application… that’s a big “no no.” Don’t do it.

Q: Lets say I have a list of locations (maybe businesses or schools or something) and I want to find all of them within a certain distance of a location. How do I do that?

A: If you took geometry, you probably remember “Pythagrian’s Theorum” (A^2 + B^2 = C^2) and distance formula (C = sqrt(A^2 + B^2). There is a “modified” version of the distance formula that you can use that converts the “A” and “B” from “miles” to “degrees longitude/latitude.” http://zcentric.com/2010/03/11/calculate-distance-in-mysql-with-latitude-and-longitude/ has more information.

  • Share/Bookmark

Yom – day or period of time?

Alright, enough people have asked whether or not the hebrew word “Yom” means “day” or “period of time” and I’ve read enough articles about it to decide that there’s some important information lacking… REAL SOURCES! So, I’m not going to give any conclusions; just read the pdf below and draw your own conclusion.

The pdf consists of 5 pages:

  1. The first page of the Bible IN HEBREW with the word “yom” circled
  2. First half of Strong’s Expanded Dictionary of Bible Words definition to Yom
  3. continuation of page 2
  4. First Page (of 4) of Brown Driver and Briggs definition of Yom
  5. Second Page (of 4) of BDB definition of Yom
  6. Third Page of BDB definition of YOM
  7. Fourth Page of BDB definition of YOM

Please read all pages and note the many uses of the word YOM. Also note the many forms of the word Yom, particularly in BDB. Its a very flexible words. Also, on page one, note the music notation… something that translations can’t capture…


  • Share/Bookmark

My First Android App!

Alright, as of today I now have an Android App on the market! It can be found if you search for “Splayback.” I have attached the “APK” installation files below. There are two versions: one for older Android devices and one for newer ones. If you are not sure which one to get, get the “Android 1.5+” version.

Splayback.apk – For Android 1.5+

Splayback_2_1.apk – For Android 2.1+

Be sure to check on Android Market for updates!


  • Share/Bookmark

To Mozy or not to Mozy

Not to Mozy.

I have been using Mozy for around 6 months now and recently had to restore some of my files. Restoring was a HUGE pain. Also, I found that it had not backed up all of the files that I asked it to backup, causing me to lose some of my work. The whole point of having Mozy is to not need to continually back things up, but if you can’t rely on them, its not worth your time. Use Carbonite, their major competitor. Its better.

  • Share/Bookmark

CakePHP: Easy As Pie

Recently, I’ve begun exploring CakePHP, an Object-Oriented PHP Framework that has support for prototyping, code-generation, and a host of other useful features. In this article, I’m going to explain why a framework like this can be beneficial, the basics of how it works, and some links to get started.

Why use CakePHP?

One of the most common complaints against PHP is that it causes people to write poorly organized, confusing coding. Until recently, PHP was a procedural language, like C or Perl, and did not support object-oriented programming. This meant that you had to have a complicated header system and a series of common functions in order to write manageable code. This was possible, but with many programmers, oftentimes your conventions were broken and this lead to bizarre behavior and potential security risks.

Enter CakePHP. As of PHP 4.2 and PHP 5, PHP supports Object-Oriented Programming (OOP). CakePHP is pretty rigid, but this means that you can rapidly prototype your applications and generate thousands of lines of codes in the matter of a few hours. It has a host of built-in features allowing you to streamline the most common work that PHP programmers do:

  1. MVC (model-view-controller) framework to easy separate the data from the way it is displayed.
  2. Authentication Functions
  3. Email Functions
  4. Form functions
  5. CRUD code generation (and admin CRUD generation)
  6. Many others

The most attractive parts to me, personally, were the authentication, rigid MVC, and code generation. Having rigid MVC means its easier for a programmer to follow what you are doing if they are familiar with CakePHP; there’s oftentimes only a couple ways of doing things.

How does it work?

Well, basically, CakePHP consists of 5 basic elements:

  • Models: interface with the database. They can inherit from predefined types, such as MySQL, MSSQL, SQLite, MS Access, etc, so you just define relationships and it does the rest!
  • Controllers: When a user requests a website, the controller says which modules to load, which views to load, and generally does all of the database querying. Its your real “action” code.
  • Views: After a controller and model have been “populated” with data, the view displays it. If you’ve heard of “smarty” or other templating systems, you will pick up on this quickly. It does not use any complicated syntax; just standard php. It is passed in a $this that contains all of the models and variables passed from the controller/model.
  • Helpers: Helpers are predefined functionality that a “view” can use, such as breadcrumbs, ajax, forms, html, etc. It keeps you from having to write too much raw javascript/html code. There are also more creative helpers (pdf, etc) available.
  • Components: Components are addons for the controllers, such as the “Auth” component that handles user authentication for you. VERY useful!

How do I get started?

Getting started is easy:

  1. Go to http://cakephp.org/, download CakePHP (I suggest version 1.2 as 1.3 is still pretty new), and upload it to your server
  2. Reconfigure its “/app/config/database.php.default” file to your mysql database. Also, rename database.php.default to database.php
  3. Once you’ve done this, I suggest you just start reading through the “book” on http://cakephp.org/. For version 1.2, just go to http://book.cakephp.org/view/2/x1-2-Collection. Keep in mind that they have a complete “API” reference available. Some features are not documented in the book but are documented in the API, so check there when you get stuck.
  4. If you get stuck, hire me 😉

I hope this is enough to get you started. If CakePHP is not a good fit for you, I suggest Zend Framework as your backup. It is less rigid and more full featured than CakePHP, but it requires PHP 5 and does not have code generation features. Sometimes people will use CakePHP and then call up Zend Framework on an as-needed basis. This is extremely practical, but does require your programmers to be pretty knowledgeable.



  • Share/Bookmark