Posts Tagged ‘development’

Is PHP good enough for science?

Tuesday, July 15th, 2008

My ‘day job’ has nothing to do with PHP. It has nothing to do with any form of programming. I graduated in 2006 with a degree in Biochemistry and went on to do a MSc and now PhD in cardiovascular biology. The closest most of my colleagues come to programming is a formula in an Excel spreadsheet.

It was actually Excel which prompted this post. Yesterday I was analysing some data and bemoaning the poor search functionality that Excel makes available. I had already expanded the small set of experimental data I had with some values pulled from a web service using a quickly hacked together PHP script and it got me to wondering how much better things could be if I just stuck with PHP.

Where’s the science?

This train of thought led on to whether PHP has been used all that often for scientific projects. There is an accelerating trend in Biology to make data and tools available via web interfaces. In my opinion this is an environment where PHP excels and yet all the literature I’ve seen discussing the development of these services uses Perl or occasionally Java.

Searching a little harder for PHP projects yields an equally depressing outlook. In PEAR Jesus Castagnetto released the Science_Chemistry and Math_Stats packages back in 2003. For my purposes though the Chemistry package is a little too ‘chemical’ and the stats package is a little too basic. In sourceforge there is a package named BioPHP which looks promising but again there has been no activity since 2003. A lot has happened since then.

Biology is increasingly data generative. There is going to be a steadily increasing need for tools to analyse all this data. These are likely to be centralised and made available via web interfaces.

Anyone out there?

I suspect I’m going to be increasingly creating automated solutions to remove some of the repetition involved in processing the, relatively, small amounts of data that I generate. A PHP toolkit able to leverage the latest online databases and perform ‘advanced’ statistics would be immensely valuable.

So my question is this. Is anyone out there using PHP in a scientific environment? Are there resources available which I’ve missed?

PHP:Drupal 6.0 Released

Monday, June 30th, 2008

The Drupal development team surprised everyone when they released version 6.0 last week, ahead of schedule.

After one year of development we are ready to release Drupal 6.0 to the world. Thanks to the tireless work of the Drupal community, over 1,600 issues have been resolved during the Drupal 6.0 release cycle. These changes are evident in Drupal 6’s major usability improvements, security and maintainability advancements, friendlier installer, and expanded development framework. Further, from bug fix to feature request, these issues follow-through on the Drupal project’s continued commitment to deliver flexibility and power to themers and developers.

While I haven’t used Drupal on any major projects, I got to see it in action in the FullCodePress international site-in-a-day competition last year, when the Australian team chose it to power their charity’s site. And when I attended Drupal MiniCon here in Melbourne a couple of weeks ago, a recurring theme was that the installer needed to be friendlier for first time users.

I’m happy to report that, with the version 6.0 release, getting Drupal up and running is as easy as it should be, and the Lullabot team have prepared an excellent screencast (MP4, 12 minutes, 38.5 MB) that anticipates …

PHP:Useful in-browser development tools for PHP

Monday, June 30th, 2008

While debuggers exists, there isn’t much of a tradition for using them in PHP. People have largely come to rely on injecting debugging code directly into the program, for inspecting program scope. The infamous var_dump have served for this purpose and version 4.3.0 of PHP brought us another equally useful function — debug_backtrace.

Tracers and error handlers
Both of these functions produce a rather crude output though, so naturally people have written wrappers around them to remedy this. I think Harry’s pretty bluescreen was one of the first dedicated libraries I’ve seen. Xdebug spouts a similar output on error, although arguably not as pretty. Or blue.

What bluescreen is for debug_backtrace, krumo is for var_dump. Recently, FirePHP — building on Firebug — does a similar thing. FirePHP uses HTTP-headers to send data from server to client, which turns out to be very handy when dealing with non-HTML output (Eg. Ajax stuff). Because it builds on Firebug, it only works on Firefox, and in particular only on Firefox 2 (Another reason for Ubuntu-users to downgrade from Firefox 3).

Frameworks
Apart for these general general tracing tools, a couple of frameworks have their own, more or less specific, tools. Symfony’s Debug Toolbar is probably the most impressive …

Apple’s MAC OS x works well with PHP

Saturday, June 28th, 2008

If you have a Mac and your job is a PHP programmer, you can now install PHP with your Mac OS X. As we all know, Mac OS Xgreat is a great development platform for programming with PHP. In addition, Mac’s Leopard OS comes with Apache, PHP and many other programming tools like subversion are pre-installed. This makes it awesome because Leopard brings a much needed upgrade from Tiger’s old PHP 4 to a very modern version of PHP 5.2.4. You may use 3rd party distributions of PHP, such as MAMP, XAMPP or Marc Liyanage, depending on your need. You can find the installation guides online.

Firefox:Faster JavaScript

Friday, June 27th, 2008

Firefox now empowers even greater Web development, with JavaScript 1.8—including expression closures, generator expression and array reduce.

Website Usability — Is There Room For Improvement?

Saturday, June 21st, 2008

Websites are intended to be seen and used by Internet surfers. Not many people realize the wideness of the range of the users of the Internet.

A website’s usability is one of the key determinants of its success in fulfilling its main goal, whether it is made for information dissemination, business or communication. Usability is all about the relationship between a website and its users. Websites should be seen as tools which will allow its users to do their tasks and help them achieve results.

The issue of usability is very pertinent and is treated with much attention today. There have been moves (including legal ones) that aim to push web development towards usability. There are many people who are affected with some kind of disability or impairment which hinders them from fully enjoying the different aspects of life including the use of the Internet. The Internet, with it’s continuous development towards the better, has been a great instrument in providing people, especially those with impairments to be able to have avenues for accessing information, communicating and transacting. This is why the issue of website usability is a much talked about issue.

Usability is important because it can be the difference between accurately performing a task or not, between enjoying the whole process or being very frustrated. Usability is also important for the developers since it can be one of the key factors in determining the success of a system. It is also important for businesses which thrive in the Internet because a low level of usability will definitely drive the customers away. Most importantly, it is important for people who have impairments because they are the most vulnerable group in terms of accessing the different avenues that the Internet provide.
Components of Usability

A website’s usability is one of the key determinants of a website’s popularity. A recent survey revealed that the “ease of use” with regards to websites makes 74% of website visitors want to come back.

There are different components of usability. These are:

- Efficiency

This refers to how easily the users can perform their tasks after they have had a general feeling for the website.

- Learning curve

Can the structure of the website easily be learned by the users?

- Over-all perception

Is the website pleasant to the eyes and can easily be accessed by people viewing it?

A website that is usable will be able to deliver a lot of benefits not only to the viewers but also to the developers. Here are some of the most important benefits that can be achieved by improving the usability of a website.

-user satisfaction
-productivity and success
-avoidance of long-term costs of development
-improved competitiveness of the website

Now, we go to the ways on how to the basic concepts that should be kept in mind in developing websites to achieve usability.

1. Give information about the website

Many website developers forget the importance of putting some information about the website because they assume that people will be able to figure that themselves. Many people will be giving negative feedback if they don’t get what they want (or what they think they want) from the website. A portion of the homepage can be used to relay this information or a separate section “about the site” can be added.

2. Provision of a Sitemap

Many people are not very familiar on navigating through the different layers of a website and therefore they result to the sitemap to be able to find what they are looking for. Sitemaps provide a skeleton image of the whole site and cramp the pertinent sections into one single page.

3. Loading time

If people are to be asked to choose between a good-looking site which takes too much time to load and a basic site which loads quickly, most of the time, the second one will win. The use of large flash programs, graphics and the inappropriate placing of too much information should be avoided to improve the usability of a website.

4. Quality content and readability

People visit website to be able to gather information and they will leave immediately if the content are either: of poor quality or has poor readability. Make sure that the contents are written well and are structured to be easily read.

These are just some of the ways on how a developer can improve the usability of his website. The development of websites is pushing forward to usability and every single website should take this in mind.

Top Ten Web Design Tips of 2008

Saturday, June 21st, 2008

The Most Useful Design Tips of the Year

The Internet is changing with the development of Web 2.0, and the changing marketplace reflects a need for increased usability, easier functionality and design that is visually appealing but that still lends to an easy to maneuver, content-rich website. The following is a list of ten top website design tips that made a difference in 2008.

1. Know the audience: The design of your website should cater specifically to your target market both in the visual sense, and in usability. It is critical that the design of your website reflect the values that your potential customers will hold.

2. Personalize: Even if your website is designed by the greatest professionals in the business, if you do not allow your customers to get to know you, or to believe in you, you will have difficulty selling your ideas.

3. No uncertain terms: Clearly identify what the purpose is for your website, and ensure that every facet of your website focuses on this goal. Are you conveying a message, selling a product or offering a service? Make this obvious from the beginning, and keep your focus until the end.

4. Keep it quick: You have between ten and thirty seconds to capture the attention of your customer, so keep graphics small in order to minimize the time it takes to load your website. Compress images when possible, so that your loading times stay low.

5. Design is important, content is more so: Good content is what sells your ideas and products. Is your copy delivering the message you intended for it to? Grammar and spelling ARE important; so proofread everything you write before it goes live.

6. Map your Site: You can make your website’s navigation much more easy and intuitive simply by creating a site map, or a directory web page. If your customer cannot navigate your website quickly or easily enough to find what they came for, they will go elsewhere for solutions.

7. Strive for consistency: Your website should be consistent in the design, the look and the feeling. Colors, themes and ideas should stay constant throughout every page on the website to make the best impression on your visitors.

8. Keep track of links: You should make sure that your site is fully functional at all times, which means checking out your website links on a fairly regular basis. If you have dead links on your site, there is no telling how much of a negative impact will transfer to your search engine page ranking, or the opinion your visitors have of your website.

9. Make a simple start: When you begin your site, take everything one page at a time, and optimize each page for the best results before moving on to the next. This means that you should make sure that every page is perfect before leaving it for the next one.

10. Optimize: The top search engines are responsible for helping more than 85-percent of all web users to find exactly what they are looking for. If you want to be one of the websites that is considered when users look for similar products or information, you must make sure that your pages are designed to maximize your search engine placement.

High Oil & Gas Prices Could Boost Internet Says Google

Friday, June 20th, 2008

Putting a very thin silver lining on the dark cloud of petroleum dependency, Google’s Vint Cerf (who is commonly referred to as the father of the Internet), made a statement at the 2008 OECD Ministerial Meeting in Korea about how high oil prices could be seen as beneficial to the Internet.

“Although I’m not happy with increased oil prices, the Internet (industry) may actually benefit from that as people turn to it as an aid to improve their efficiency,” said Vinton Cerf, vice president and Chief Internet Evangelist for Google, at a press conference.

The rise in oil prices is slowing some global economic growth and making it very difficult for those dependent on gas and oil to live, however Google feels that the need for businesses to save money and cut corners may fuel innovation.

“We may turn increasingly to video conferencing or other kinds of electronic media in order to avoid having to travel,” Cerf said.

Cerf also noted that there may be more use of “computational capabilities” for calculating car and aircraft routes to minimize petroleum usage.

High oil prices are also going to have a positive effect on Google outside of their search business, as the company is investing heavily in alternative and practical renewable energy development like solar generators and other utility oriented investments.