Facebook Application Development Platforms And Techniques

September 5th, 2011 Macronimous Posted in Best Practices, Opensource, PHP Programming, web programming No Comments »


Facebook Applications are essentially designed to give a custom look to the website and facilitate to attract the attention of Facebook browsers. Though sometimes complicated, they are generally used as add-ons to other software programs or devices to work. The passionately popular Facebook social networking platform has issued an open Application Programming Interface (API) and developers are drinking it up to create applications and new features for Facebook. To work with the data from Facebook, all the third-party systems can make use of this API, which is a combination of OAuth 2.0, REST-style techniques and a mixture of web technologies and are collectively titled as the Graph API.
Facebook offers developers with several code libraries through its developer portal. It includes server-side programming languages and the only one that is entirely client-side is the JavaScript SDK. Both ActionScript 3 and the Flash Platform are compatible for the JavaScript usage. Server-side programming languages such as ASP, ColdFusion, PHP, and JSP are used to write the Facebook applications. Many more platforms which are used in this development are hosted on the application developer’s own server. They seem to be a part of Facebook itself for the users, as they are interfaced directly with Facebook. Using such Applications, developers can combine custom attributes on one of the most demanded websites in the world.
Developing Facebook application is a pretty difficult task as it requires innovative skills with various other things which are different from developing the custom applications. If you are interested in creating, configuring and developing your own application on the Facebook platform, you should be ready to go through a lengthy process. It is inclusive of technical and non-technical skills and requires smart knowledge in Facebook Markup Language (FBML), and Facebook Query Language (FQL). Moreover, it involves utilization of community-supported wiki and bug-tracker and helps to combine the automated and scheduled works. Developers who are unaware of social networking and its depth in Internet may find it hard to develop alluring applications. Such people can make use of the Facebook application development platforms and techniques to create their own Facebook applications.
Here are the links for you to start:

Download/learn Facebook SDK: https://developers.facebook.com/
PHP SDK: https://github.com/facebook/php-sdk
Facebook and Flash: http://code.google.com/p/facebook-actionscript-api/ ; http://www.adobe.com/devnet/facebook.html
Our Facebook Business page and development Service: http://www.macronimous.com/services/facebook_page_application_development.asp

AddThis Social Bookmark Button

We have 1217 bugs in our present blog system

June 19th, 2010 Macronimous Posted in Best Practices, Content Management Systems, Opensource, PHP Programming, wordpress 1 Comment »


When we launched our business/technical blog system under this domain/url, it was done with WordPress version 2.7 and later we upgraded it to 2.9 (Carmen McRae release) last year. Now WordPress announced its version 3, with major revisions.  WordPress community announced that 1217 bugs were fixed (which means our present blog system has 1217 bugs) which is not a small number. It has 4 digits. :-)

WordPress 3

WordPress 3

Next week, we will be upgrading to the new WP 3.0 and we when have started planning now few things come to my mind.

  • The first thing would be Database backup.
  • The only major task involved in WP upgrades is theme and plug-in compatibility checking. We may need to change our present theme and sacrifice some plug-is if they do not work with the new version. The directory of plug-ins for 3.0 is yet to be displayed, we are waiting for that.
  • We are preparing a list of plug-ins, I have asked team to give up some of the plug-ins like ‘Listen Now’, i do not see any use in it. We will also remove the video comment plug-in even if it is compatible with 3.0.
  • WordPress has detailed guide for version upgrades, simply following up http://codex.wordpress.org/Upgrading_WordPress helped us before.
  • Finally we will check the site for validations, in a previous blog we discussed this too. 4 site design validations you should do before you deliver

Now why would we want to upgrade while the present 2.9 is working fine. Not just for the terrible figure 1217, But I like the following list of features which I see in WP3.

  1. Create multiple blogs/sites with single control panel. This would be a boon for company like us, who run more than 4 business sites and blogs. But we need to find how easy it would be.
  2. Contextual help in the same page. You get what is what within that section. I am sure this will help our customers who use WordPress or any blogging/CMS for the first time.
  3. Custom Menu management: We so far used third party plug-ins for Menu based navigations. Some plug-ins works well with some WordPress versions, and some are not. This is the graceful feature which I welcome.
  4. Support for short URLs: We need to check is the short URLs are automatically created or we need to use a service like bit.ly

Before we recommend the upgrade to our customers, we want to try and practice it in our system first. Can’t wait!

WordPress control panel has Auto upgrade at : http://blog.macronimous.com/wp-admin/update-core.php , we will try it and post it soon.

AddThis Social Bookmark Button

4 Things you should let your web development client know

April 30th, 2010 Macronimous Posted in 4 series, CMS, Content Management Systems, Flash, Internet Marketing, Opensource, Search Engine Optimization, Web business, Web content, web design, web programming 8 Comments »


Not all the web clients are tech or web savvies. Many times you should pave them their success path online. Here are few a list of 4 important things which you should let your client know, if they trust your web development skills.

1. Flash: When they ask for a fully flashed website, let them know the adversity it might make. By doing this you are helping them to establish the right online presence. Unless your client is Coca cola or Burger King ( I mean,  :-), an establish brand), they will really want to establish better Visibility to the Search Engines.

2. SEO – If a client just wants a website, let them know what SEO is and how it is going to help them. Make the site SEO friendly within the design scope (Eg. Image tags, XHTML validations, designing without tables, etc). Most of the clients will not say NO to make their site ready for SEO.

3. CMS – Ask how frequently they want to change the content, and if they do, let them do know how to do it themselves with a CMS. You may also need to let them know the advantages of fresh content. I believe instead of providing them a static site of 20 pages, you can introduce them Joomla and how to use it, for some additional but onetime investments.

4. Advantages of Opensource - Do they need a CMS or Ecommerce, You can justify why you charge less. Let them know that you can cut cost by using WordPress or Magento and still make their site professional. By doing this you are introducing standards – if your client goes to some other developers, it would not be difficult for them to take up the work.

I recommend you to keep a short write up (with some references) or articles on the above mentioned (you may keep that under your client section of your website) and ask the client to refer them. It also helps them to understand that you know what you tell them. :-)

AddThis Social Bookmark Button

Frameworks we like: 4. Codeigniter, and Why?

March 31st, 2010 Macronimous Posted in Frameworks, General, Opensource, PHP Programming, web programming, Web standards, Web tools 2 Comments »


Codeigniter is an open source web application framework for building dynamic websites with programming language PHP. Its main aim is to facilitate the developers to develop projects much faster than writing code from the scratch. If you are a developer who want to meet the clients’ deadline and tired of tediously large and painstakingly undocumented frameworks, Codeigniter is the way to go. When compared to other PHP frameworks, Codeigniter is often distinguished for its speed.

CodeIgniter

CodeIgniter

Now is the real time to know about the power of Codeigniter. So ignite yourself and initiate reading to know why you want to choose Codeigniter. It will suit if:

  • You require a framework which can be set up very quickly and efficiently.
  • You need an outstanding performance.
  • You are a developer who needs methodical and clear documentation.
  • You need a framework that does not call for sticking on to restrictive coding rules.
  • You want a framework that needs nearly zero configuration.
  • You need a framework which is compatible with many environments

Some of our developers always prefer to use  CodeIgniter, write me if you want to see some samples and know why they used CodeIgniter. If you want to start using CodeIgniter start right here at: http://codeigniter.com/

3. Frameworks we like: 2. CakePHP and why?

2. PHP Frameworks we like 1. Zend and why?

1. PHP Frameworks we like

AddThis Social Bookmark Button

PHP IDEs we use: 1.Netbeans, and why?

December 9th, 2009 Macronimous Posted in Opensource, PHP Programming, web programming, Web tools 2 Comments »


Netbeans Integrated Development Environment (IDE) is an open source integrated development for software developers. You can run the Netbeans IDE on various platforms which include Linux, Windows, Solaris and MacOs. It is aimed at providing a comfortable environment for the developer during each stage of development. This is accomplished by integrating precise features required for PHP development into the Netbeans IDE.

As most PHP projects characteristically connect to MySQL databases, Netbeans has made a concentrated effort to offer to this configuration. By means of the Netbeans IDE 6.5 Beta, web developers can now benefit from the standard features like the syntax highlighting, refactoring, code templates, pop-up documentation, easy code navigation, debugger and lots more.

I have been currently using Netbeans IDE and I have penned down few features and positives that I came across in writing PHP based web application.

  • It comes free.
  • Netbeans will go along with PHP, JavaScript, CSS, HTML, Java and lots more.
  • Indentation format is out of the top draw in Netbeans. You select a block of code which contains css, html or php code, Netbeans will make sure it formats the code evidently and placed indentation adequately.
  • Common functions of PHP are shown automatically or you can use ctrl + space.
  • While writing HTML, Netbeans ensures it checks the div id properly and it indicates if there is any hitch so that you can easily fix the bug.

I can stiff my neck out and say it’s the most popular IDE and also the most popular. So I would give an overall score of 8 out of 10 for Netbeans IDE.

AddThis Social Bookmark Button

Frameworks we like: 3. Symfony, and Why?

December 9th, 2009 Macronimous Posted in Frameworks, Opensource, PHP Programming, Web tools 3 Comments »


Symfony a web application written in PHP as per the Model-View-Controller (MVC) standards launched by Sensio Labs during 2005. It is aimed to give developers full authority over the configuration. Symfony also looks to up the tempo of creation and maintenance of web applications and to reduce the recurring coding tasks. More or less a whole lot from the directory structure to foreign libraries could be customized.

The symfony templating component is a flexible layer on top of PHP which provides you simple yet influential features that covers most familiar templating needs. One of the objectives of symfony templating component is to be as fast as possible. It comes as a tool which is very easy to use with just a single archive to download and that’s it, you are ready to be on the go.

You might ask me the next question, what is the exact need for any framework in PHP? PHP was supposed to be meant as a fast web based programming language. The ever escalating popularity of Open Source Technology today has given away to the position of PHP in web community.

Given this condition why do you need a Symfony? Why a framework in the first place? Let us see how the Symfony framework is going to benefit the customer and as well as the developer.

Benefits of Symfony Framework for Customers

  • Released under MIT open source license, the Symfony framework comes as free software and you can use it for any commercial purposes.
  • Symfony Framework is independent of database due to the ORM layer “Propel” or “Doctrine”.
  • Use of tested code and also less lines of code which always results in less chance of bugs and also it will minimize your cost.
  • Web applications are very easy to modify later on because of the clear Model View Controller (MVC) structure that separates application into separated layers.
  • Swift developments of a custom-made website build on proven methods and principles.

Benefits of Symfony Framework for Developers

  • All codes are object oriented and entirely in PHP5.
  • You will gain plenty of time in the overall development process and get improved maintainable and testable code.
  • Very appropriate for development methodologies like XP.
  • Advanced cache system which includes file cache, apc cache, mem cache and few others.
  • Offers tools to make use of every useful best-practice accessible on the web today.

Initially when I came across this Symfony software, found it really overwhelming and appeared a big step. But the structure of the framework and also because of the consistency of Application Programming Interface (API), the documentation provided was really wonderful.

I must admit that ever since we started using Symfony, we haven’t looked back.

3. Frameworks we like: 2. CakePHP and why?

2. PHP Frameworks we like 1. Zend and why?

1. PHP Frameworks we like

AddThis Social Bookmark Button

Four Frameworks to perform unit testing in PHP

October 28th, 2009 Macronimous Posted in 4 series, Opensource, PHP Programming, Web Testing, Web tools No Comments »


Doing Unit testing is helps a team to produce quality application with in time by allowing the developer to test the code as soon as they write it. By developing a test document, developers are forced to do rigorous testing before it reaches to QA team. This way the span of life cycle is reduced by avoiding it going back and forth between the developer and the tester. The following few Frameworks help teams to do unit testing efficiently. This way unit testing could become a fun to your developers too.
Four Frameworks to perform unit testing in PHP are
1. SimpleTest
2. PHPUnit
3. phpt
4. SnapTest
SimpleTest:
It’s a Open souce unit test framework created by Marcus Baker for PHP. The test structure in SimpleTest is similar to the Junit and PHPUnit.  It contains all of the typical functions in Junit and PHPunit and also includes Mock objects. Simplte Test helps to automate the web application’s regression testing. Regression testing on web applications can be done by parsing the HTML page by using scrpitable HTTP client for simulations like Form submission and clicking on Hyperlinks. Some of the JWebUnit functionalities like web page navigation, cookie testing and form submission are also incorporated in this.
The following link will assist you to get more idea on SimpleTest (http://www.simpletest.org)
PHPUnit:
PHP Unit is a part of xUnit family, which has testing frameworks in it. It provides a framework that helps in creating the test scripts easily and also the functionality to execute the tests and then analyze the results. The tests are arranged into cases in PHPUnit, which is very similar to Simple Test. A case is essentially a class in which public methods are singular independent tests.  A test name starts with “test” if the test is a public method. Any test, which is not, a public method will not be taken into account unless interpreted as a test under PHPUnit.  Helper methods are very useful for recurring tasks. If used Helper methods to set up a test, the test will be considered as a separate test by the framework. Refrence to assert methods are present inside each and every test. An assertion is mainly taking an expected value and then comparing it with an actual value. If the expected value does not match the actual value, then the test fails. Mock Objects are hugely important component in maintaining a unit test’s segregation from all other classes and resources except the one under test.
The following link will assist you to get more idea on PHPUnit.
http://www.phpunit.de/manual/current/en/phpunit-book.pdf
PHPT:
A phpt test is a small script, which used by the php internal and quality assurance teams for testing PHP’s functionalities. Writing phpt tests helps to make PHP more stable. For writing up a phpt test, we need a basic knowledge on PHP language, a text editor and a method to get the results of the code.  Phpt test is used in following scenario: The run-tests.php scripts call the test and it takes different parts of phpt file to name and to create a .php file. The newly created .php file is executed and the output of the same is compared with different sections of a phpt file. The Test pass only when the output of the script “matches” with the output provided in the phpt script.  Phpt test will do the following: It tries and breaks the PHP functions. PHPT test check the functions normal parameters as well as edge cases.
The following link will assist you to get more idea on Phpt
http://qa.php.net/write-test.php
SnapTest:
The most powerful unit-testing framework for PHP 5+ is SnapTest.  PHP’s runtime language is the only one of its kind that can be used to make the unit test process simpler without sacrificing the agility tests. The philosophy on which the Snap Test was build: Unit testing should be transparent in Snap Test. Complexity of test harness and coding out stub files should be avoided in Snap Test. The obstacle in writing tests should be very less so that it becomes easier to write the tests than writing the code.
Features of the SnapTest are:
JUnit Compliant Test Harness
TAP Compliant Test Output
Runnable from Command Line via .sh or .php scripts
Full support for mock objects at runtime (minimum parallel structures) as actors and critics
Extensible add-on system for adapting SnapTest to just about any developer environment
The following link will assist you to get more idea on SnapTest
http://code.google.com/p/snaptest/

Doing Unit testing is helps a team to produce quality application with in time by allowing the developer to test the code as soon as they write it. By developing a test document, developers are forced to do rigorous testing before it reaches to QA team. This way the span of life cycle is reduced by avoiding it going back and forth between the developer and the tester. The following few Frameworks help teams to do unit testing efficiently. This way unit testing could become a fun to your developers too.

Four Frameworks to perform unit testing in PHP are

1. SimpleTest

2. PHPUnit

3. phpt

4. SnapTest

SimpleTest:

It’s a Open souce unit test framework created by Marcus Baker for PHP. The test structure in SimpleTest is similar to the Junit and PHPUnit.  It contains all of the typical functions in Junit and PHPunit and also includes Mock objects. Simplte Test helps to automate the web application’s regression testing. Regression testing on web applications can be done by parsing the HTML page by using scrpitable HTTP client for simulations like Form submission and clicking on Hyperlinks. Some of the JWebUnit functionalities like web page navigation, cookie testing and form submission are also incorporated in this.

Download and test your version of Simple test.

PHPUnit:

PHP Unit is a part of xUnit family, which has testing frameworks in it. It provides a framework that helps in creating the test scripts easily and also the functionality to execute the tests and then analyze the results. The tests are arranged into cases in PHPUnit, which is very similar to Simple Test. A case is essentially a class in which public methods are singular independent tests.  A test name starts with “test” if the test is a public method. Any test, which is not, a public method will not be taken into account unless interpreted as a test under PHPUnit.  Helper methods are very useful for recurring tasks. If used Helper methods to set up a test, the test will be considered as a separate test by the framework. Refrence to assert methods are present inside each and every test. An assertion is mainly taking an expected value and then comparing it with an actual value. If the expected value does not match the actual value, then the test fails. Mock Objects are hugely important component in maintaining a unit test’s segregation from all other classes and resources except the one under test.

The following link will assist you to get more idea on PHPUnit.

PHPT:

A phpt test is a small script, which used by the php internal and quality assurance teams for testing PHP’s functionalities. Writing phpt tests helps to make PHP more stable. For writing up a phpt test, we need a basic knowledge on PHP language, a text editor and a method to get the results of the code.  Phpt test is used in following scenario: The run-tests.php scripts call the test and it takes different parts of phpt file to name and to create a .php file. The newly created .php file is executed and the output of the same is compared with different sections of a phpt file. The Test pass only when the output of the script “matches” with the output provided in the phpt script.  Phpt test will do the following: It tries and breaks the PHP functions. PHPT test check the functions normal parameters as well as edge cases.

More on Phpt

SnapTest:

The most powerful unit-testing framework for PHP 5+ is SnapTest.  PHP’s runtime language is the only one of its kind that can be used to make the unit test process simpler without sacrificing the agility tests. The philosophy on which the Snap Test was build: Unit testing should be transparent in Snap Test. Complexity of test harness and coding out stub files should be avoided in Snap Test. The obstacle in writing tests should be very less so that it becomes easier to write the tests than writing the code.

Features of the SnapTest are:

JUnit Compliant Test Harness

TAP Compliant Test Output

Runnable from Command Line via .sh or .php scripts

Full support for mock objects at runtime (minimum parallel structures) as actors and critics

Extensible add-on system for adapting SnapTest to just about any developer environment

Here you go for:  SnapTest

Let me know if you are familiar with other frameworks.

AddThis Social Bookmark Button

Why Cubecart?

February 24th, 2009 Macronimous Posted in CMS, Content Management Systems, Opensource, PHP Programming, Search Engine Optimization, Web business, web programming, Web tools, Web2.0 1 Comment »


Many of our customers who look for Ecommerce solutions find Opensource solutions to build it cost effectively and they like what we recommended, Cubecart!There are reasons:1. Easy to customize (skin based), and this keeps the cost low.
2. You can bring great look and feel with skins, you can make the site like complete custom design. No footsteps of Cubecart would be visible.
3. PHP programmers likes it. – Clean code structure, easy to manage. Our PHP programmers have a great feel about it.
4. Designers like it. Clean XHTML interface and CSS driven.
5. SEO guys like it. Search Engine Friendly URLs, Custom URLs, Meta Tags, Robots.txt & PHP Session Killer etc
6. Good support from Cubecart team apart from forum support (Like http://www.cubecartforums.org/)
7. Low cost, $180 only.
8. Good number of alternate payment solutions, Shipping modules (http://www.cubecart.com/modules)
9. Web2.0 interface, But I am yet to see any Mashups.
We strongly recommend and teach the importance of SEO for customers who wants us to build Ecommerce sites, as any online business should consider SEO as their primary marketing channel – Not just news paper ads, for long term business through online. Cubecart is one good choice to build SEO friendly Ecommerce sites that supports online marketing.

AddThis Social Bookmark Button

Drop down Menus for WordPress CMS – Plugins reviewed

January 30th, 2009 Macronimous Posted in 4 series, Content Management Systems, Opensource, Web tools, wordpress 4 Comments »


Organizing of content is done better way using drop down menus. But coding them could be a heck of a task. Thanks to some of the finest plug-ins that cater to the drop down menus needs for WordPress, we can use them in our websites or blogs for easy drop down navigation. These plug-in can also be customized manually for better presentation.
 
Discussed below are four drop down plug-ins, for sites enabled with WordPress.
 
1. Suckerfish WordPress Plug-in: It can be downloaded from here. Suckerfish has already existing drop down design, but the same can also be customized using the CSS generator, which very well suits this plug-in. The site clearly explains the procedure to install the plug-in onto your website.
 
2. Zack Designs: A three level drop down menu has been developed by Zack Designs, for WordPress. This looks to be really promising and efficient as well. You can download it from here. But one thing is that this would be a strict no-no for people who are not well conversant with CSS, especially if you are attempting to make changes to the existing design that the plug-in provides.
 
3. Gouden Douche plug-in: Depending upon the page list, the drop down menu is created in your website, by this plug-in. It has about 3 versions of the plug-in and is still in the beta version. All the 3 versions have specific requirements, with the latest one still having few bugs in it; still it is definitely worth a look and a try, in case you are able to fix the glitches. With the beta version that has come out, it sure looks to be a promising WordPress drop down plug-in.
 
4. TransMenu: A very swift and animated drop down menu, TransMenu is easy to install at the same time makes drop downs more attractive as well. With options to include pages and sub pages inside, the drop down is definitely a very good idea for starters. The site also gives detailed information about how to go about installing the plug-in.
 
It would be good to try them out first in any blog if the features are compatible with your requirements and try applying them in your WordPress enabled sites.

AddThis Social Bookmark Button

Alternatives to Google Analytics to measure your ROI

January 28th, 2009 Macronimous Posted in Internet Marketing, Opensource, Search Engine Optimization, Web tools 1 Comment »


Our SEO team likes Google analytics, But they still generate some reports manually and simplify some of the reports generate by Google to make it readable to clients. Not all the clients will understand the detailed reports from Google Analytics. They need facts and figures, easily understandable. So, always our SEO enthusiasts are looking for some tools to make their life easy, no surprise they wanted some tools as an alternate to Google analytics.

1. Piwik Open source web analyticsa>: A web-analytics software which is free(opensource), is a real good way of calculating website ROI. It gives perfect reports on the keyword phrases and search engines, popular web pages etc.  It also has its own plug-in that are built-in for increased efficiency, with the facility of getting the reports in various formats like XML, PHP, CSV and the likes. .
 
2. Engine Ready Conversion Analyst: Another powerful analytics tool, the Engine Ready conversion Analyst is a alternate to Google analytics. You can generate reports on web site ROI, from keywords used in search engines, emails, banners or absolutely any other online campaigns that you perform. Engine ready is not a free service, but believe the services are definitely worth a shot. You also have a demo option, and only if you are happy, you would need to proceed with the purchase option, which I feel is quite decent enough.

Comments are welcome, if you have even better tools, post them. !  

AddThis Social Bookmark Button