RSS



  Web Development
- PHP
- mySQL
- cURL
- XHTML
- DOM
- XML/RSS

Web design
- Basic
- Corporate
- Flash
- Content Management
- Templates

Server Administration
- Package setups
- Site configuration
Web Applications
-
JavaScript
-Ajax
-Ruby on Rails
-PEAR
-Web 2.0
-Prototype / jQuery
-Widgets

Software Development
-Desktop applications
-DLL Libraries
-.NET controls
-Adobe Express

Language Proficiencies
- C#.NET
- VB 6.0 / VB.NET
- Delphi / Delphi.NET
- Visual/Borland C++

Graphic design
- Logos
- Interfaces
- Paper-media

Multimedia
-Audio editing
-Video editing
-Media streaming
solutions

SEO Optimization
-Site analysis
-Reporting and optimization


How to decorate your images using pure-CSS

Tue, Jun 17, 2008

1 Comment

Thanks to CSS, Blarnee.com clients have been able to create customized gloss styles for buttons and objects that don’t require photshop to change their colors.  The trick is to apply a transparent PNG with your effect on it on top of the div or image you are working with. This effect has a lot of potential and another developer, Nick La, has now made a great great tutorial to show you how to decorate our images and photo galleries without editing the source images. It is very easy and flexible with over 20 styles, from a simple image icon to a rounded corner to a masked layer (both decorative and complex). To change the look and feel, simply edit the CSS specifications of the span element.

Digg!
Continue reading...

Prototype UI

Tue, Jun 17, 2008

0 Comments

Over the past year there’s been an explosion in the number of open-source JavaScript frameworks being used to create new Web 2.0 applications - Prototype, Script.aculo.us and Ext JS are to name but a few in the mainstream.

There have also been developments in JavaScript User-Interface libraries with Yahoo’s YUI gaining positive responses from many developers. I would like to highlight another new UI library currently in development - the Prototype UI.

PUI isn’t trying to replicate anything already available - instead, it’s one of many projects making robust Web App components easily accessible to everyone from hardcore developers to those only just dabbling in web design.

The above is a screenshot of their new Carousel component which (similar to SmoothSlider) allows you to include almost any type of content in it. The difference is, you get pop-up support and theme capabilities built in by default ; ) - for more information head on over to http://www.prototype-ui.com/

Digg!
Continue reading...

Google AdSense Vs. Private Advertising

Sat, Jun 7, 2008

14 Comments

Google AdSense can be a great way to make some extra income on your blog or website. Most blogs either use it right now or have employed them in the past with varying levels of success. I’m here to tell you that in 2008, it might be a good idea to not put all your eggs in one basket.

I have had clients ranging from start-up companies to the type of teenagers you see on the news making thousands from MySpace layout sites. One of the key differences between these people isn’t their age or what they’re selling - it’s their approach. The age old phrase “Knowledge is power” has never been more true than with the world of online advertising.

The first thing you need to be aware of when using Adsense is that more often that not, only a very small percentage of your visitors are going to click on your adverts. Amongst the other visitors, some of them are going to be using tools like AdBlock, meaning that on any given day, you shouldn’t expect more than 10% of your visitors to click on your links. For many of you that work from home - this income isn’t going to be enough to pay the bills at the end of the day.

So why is it that you keep hearing about others making huge fortunes online?. The answer to this is private advertising. Did you know that a site like PerezHilton.com pulls over $5000 a month or that Hot-lyts.com make about $2-3000 in the same period?. That’s not including the amount these sites earn from other revenue streams including affiliate marketing.

Private advertising basically means that you sell an advertising spot on your website to a person or company for a set period of time for a certain amount - in many cases this can be for 3, 6, 9 or 12 months. Most of the higher earners are able to achieve large incomes because they’ve managed to build up the traffic to justify charging a decent amount for each ad-spot. If you are able to guarantee that a lot of people are going to be heading over to their site because they saw it on yours - you’ve hit the jackpot. Reaching this goal however takes time and effort, and I may dedicate another article to it.

So how do you go about securing private advertisers?. Some sites try to achieve this by having contact forms or advert shops on their sites. This isn’t a bad idea but there are a few more pro-active things you could be doing to get that all important wind-fall. My suggestions? Find advertisers yourself.

This may not sound like the easiest thing in the world to do, but if you’ve managed to get past the traffic hurdle, it’ll be easier to secure a good line of advertisers than you think. Many owners of small companies wishing to increase their traffic (and invest money into doing so) will often join forums, communities or groups either related to their particular site’s topic or for purely entrepreneurial discussion. Some such sites are the Warrior Forums or MySpace Pro’s. There are several more of these such groups out there.

Those wishing to rope in the larger corporate advertisers can either try catching the attention of companies such as BlogAds or probably more relevantly - contacting the company’s advertising reps directly. If you can price your ads competitively at first, you’ll be able to prove to other potential advertisers that there is sufficient interest in your site for them to jump into the advertising pool too. The key thing to bare in mind is don’t give up.

Going from nothing to a highly profitable venture will take a few months at the very least, but keep yourself busy. Working towards the day when your site is making you more than your day-job is worth it and you’ll be glad you invested just that extra bit of time when you have all that money to keep you warm at night ; )

Digg!
Continue reading...

Quick and dirty Ajax with jQuery

Sat, Jun 7, 2008

0 Comments

So you’ve read up on our earlier Ajax tutorial or downloaded the Blarnee.com Ajax starter pack. Where do you go from here?. The answer to that question is jQuery.

jQuery is a widely used Javascript library that bridges the gap between Javascript and HTML. It exists as a single include file, so rather than worrying about how your queries interact with the server via Ajax, you can focus on how you’re going to present your data in the front-end.

jQuery’s capabilities stop just there!..at some point you may have seen new Web 2.0 websites using slide-down boxes, menu’s, controls or funky Javascript effects and thought “Hey..I wish I could do that.”. Well with jQuery, now you can and with minimal coding to boot. jQuery is flexible enough for both designers and coders to make their sites more interactive without all the stress of manually coding everything by hand.

I’m now going to hand you over to our friends at 15daysofjquery.com to continue the rest of this introduction on jQuery.

Digg!
Continue reading...

Amazon S3 and why everyone should be using it

Fri, Jun 6, 2008

3 Comments

In March 2006, Amazon Web Services today rolled out Amazon S3, a storage service to help programmers house large amounts of data for their Web development projects. In 2008, the service has finally begun to take real momentum.

Amazon S3, which stands for “simple storage service,” is an Internet-based storage option that frees Web builders from worrying about where they are going to store data as they work on projects that need to scale.

So why am I blogging about it?.

A client recently asked me to code them up an ActionScript uploader for S3 that would integrate into their service - I hadn’t heard of it up until that point, but after spending a few hours researching it, I was truly impressed by what they had to offer.

Unofficial testing of the S3 service proves that it is fast enough to support applications requiring near real-time access to data - this includes applications such as Video sharing services, Audio Streaming sites and even providers wishing to stream HD content without worrying about their own dedicated server. The service’s pricing also makes it a great option for a diverse set of applications requiring fast and reliable online-storage.

Amazon has positioned S3 as a zero entry-cost solution, requiring no up-front costs to developers signing up for the service; in other words, the cost of the service depends solely on the data volume you use—there are no minimum or recurring overhead fees. The cost of storage using the service is $0.15 per GB per month, so 100 GB of storage would cost only $15 per month. However, in addition to storage costs, there are significant costs for transferring the data: $0.20 per GB transferred—Amazon charges for data transfer in both directions. Nevertheless, it’s difficult to imagine building a storage service that would cost less that could match the capacity, speed, and reliability claimed by Amazon.

Whether you are a developer or a company wishing to use S3, the biggest challenge you’ll have is getting your head around the concept of “a bucket”. S3 is very Object oriented and uses some analogies which are best explained by the official service description:

“Amazon S3 is intentionally built with a minimal feature set.” It provides the developer with the ability to read, write, and delete “objects.” At the highest level, objects are stored in “buckets.” Buckets provide the developer with a way to associate a namespace with each object. In addition, the system can maintain access control to objects at the bucket level, simplifying the maintenance that would otherwise be associated with managing access control at the object level.

If you or your company require more information about Amazon S3 or would like a quote for how much it would cost to create an S3 solution to fit your current site setup, please feel free to leave us a comment or contact us via the contact form.

Digg!
Continue reading...

New revenue opportunities through PayPal

Fri, Jun 6, 2008

3 Comments

Many of our clients choose PayPal among other online banking solutions to process payments for their site’s sales.  Although emerging as an increasingly important option in this day and age, one of the problems companies have had with PayPal in the past is that they haven’t be sure whether they could justify investing in an upgrade to the current systems to support it - after all, if you have a credit card,  wouldn’t it just be easier to use that instead?.

Unless using a well known e-Commerce solution with support for the PayPal gateway, many sites can find themselves having to hire in developers to add in PayPal support for them, but with a newly available add-on for Firefox, that might be changing soon.

PayPal provides a quick and easy way to pay for goods on eBay, Half.com, or other sites that accept the service. But what if you want to buy something from a store that doesn’t accept PayPal, but don’t feel like giving up your credit card information? Last year PayPal launched a service that lets you create a single-use credit card number that is linked to your PayPal account. And the company has also launched a plugin that gives you easy access to the the Secure Card service in your web browser.

You can install the PayPal plugin by logging into your PayPal account and select PayPal Plug-in from the menu on the left. You’ll be prompted to download a 5MB file which will install the plugin for both Internet Explorer and Firefox. Note that the plugin is Windows only, and does not seem to play well with Firefox 3 yet.
Once installed, a window should pop up whenever you visit a site asking for your credit card information. You can also generate a card manually through a drop down menu.

If you’re using Mac, Linux, or Firefox 3, you can still use the secure card feature by logging into your PayPal account and generating a card number. But the browser plugin makes the process much much easier.

The result? - Your site can now support PayPal without needing to pay any of the costs associated with getting it setup on your site.

Digg!
Continue reading...

Start-up focus: 280 slides

Fri, Jun 6, 2008

0 Comments

One of the biggest touted benefits of Web 2.0 is the introduction of powerful new web applications which hope to bridge the gap between the web and desktop applications. Personally, I’ve been waiting for a suite of WebApps powerful enough to rid me of my need to find a copy of Microsoft Office everytime I buy a new system.  Whilst several of the big blue’s (Google, Microsoft etc) have already placed a firm footstep in what may be a bright future for online applications, some of the offerings to date still need a lot of work to reach the level of features offered by their desktop counterparts.

I enjoy using GoogleDocs for my research and experiments because they’ve managed to combine readily available components (DHTML Grids, Ajax and Javascript Keyboard shortcuts) to create very useful tools such as their version of Microsoft Excel. What I haven’t as yet found is something robust enough to replace Microsoft Powerpoint..until now.

The first thing you’ll probably notice about the new web-based presentation creator, 280Slides, is that it looks an awful lot like Apple’s Keynote. As great as Keynote is, 280Slides has a few advantages: it’s free and it’s web-based. It’s got all the features you would expect from good presentation software: you can present in full-screen mode straight from the web, download your slides, or share your presentation to SlideShare. Vimeo and Youtube integration let you add video to the mix, too.

We can already see 280slides saving numerous butts at conferences. Equipment failure? No big deal, just borrow a computer (any platform will do!) and pull your stuff from the web. Presentations were a good candidate for the next desktop function to hop aboard the “cloud computing” bandwagon and go web-based, and the folks at 280 North have pulled it off with style and functionality. Frankly, we’re a little relieved that we’ll never again have to ask, “Hey, does this machine have PowerPoint?”

Digg!
Continue reading...

Ajax for Beginners

Fri, Jun 6, 2008

2 Comments

AjaxProjects just posted a great tutorial for anyone wishing to learn some basics about Ajax. I would recommend reading this before jumping in with any code examples as it can be nice to understand a problem domain before coding solutions for it : )

For clients - Blarnee.com offer a broad range of Ajax products and services ranging from simple Ajax forms to rich Web Application interfaces so feel free to contact us for a quote whether you would like to get a project done or simply hire a consultant for a few hours to expand your own knowledge.

In this tutorial we’ll discuss the basic principles of remote scripting using Ajax, a combination of javascript and XML to allow web pages to be updated with new information from the server, without the user having to wait for a page refresh.  Ajax therefore allows us to build web applications with user interfaces rather more like those of desktop applications, providing a better experience for the user.  Ajax tools are becoming increasingly popular, and a list of ajax development projects is also given.

Here you’ll find:

  • a brief tour of the important principles of Ajax
  • code examples of all important points
  • links to further Ajax and related resources

This tutorial covers subjects which require some degree of familiarity with Javascript and PHP.  Beginners may therefore find it a little hard going, but hopefully should still be able to grasp the principles and uses of Ajax, if not the details.  There are some demos and further links at the bottom of the article and elsewhere on these pages - feel free to explore..

What is it?
The standard and well-known method for user interaction with web-based applications involves the user entering information (e.g. filling out a form), submitting that information to the server, and awaiting a page refresh or redirect to return the response from the server.

This is at times frustrating for the user, besides being rather different to the ‘desktop’ style of user interface with which (s)he may be more familiar.

Ajax (Asynchronous Javascript And XML) is a technique (or, more correctly, a combination of techniques) for submitting server requests ‘in the background’ and returning information from the server to the user without the necessity of waiting for a page load.

Ajax is actually a combination of several technologies working together to provide this capability.

How does it work?
Instead of a user request being made of the server via, for example, a normal HTTP POST or GET request, such as would be made by submitting a form or clicking a hyperlink, an Ajax script makes a request of a server by using the Javascript XMLHTTPRequest object.

Although this object may be unfamiliar to many, in fact it behaves like a fairly ordinary javascript object.  As you may well know, when using a javascript image object we may dynamically change the URL of the image source without using a page refresh. XMLHTTPRequest retrieves information from the server in a similarly invisible manner.

How is it coded?
There are a few, relatively simple, steps to coding an Ajax application.  The description below is an attempt to describe the salient points without bogging down the new user in too many of the technicalities.

Firstly, we need to know how to create an XMLHTTPRequest object.  The process differs slightly depending on whether you are using Internet Explorer (5+) with ActiveX enabled, or a standards-compliant browser such as Mozilla Firefox.

With IE, the request looks like:

http = new ActiveXObject(”Microsoft.XMLHTTP”);

whereas in a standards-compliant browser we can instantiate the object directly:

http = new XMLHttpRequest();

There’s an example of a short piece of code to create the object here, which clearly demonstrates the different approaches for the two different browser types, along with a browser detection routine.

Secondly, we need to write an event handler which will be called via some event on our user’s page, and will handle sending our request for data to our server.

The event handler will use various methods of our XMLHTTPRequest object to:

  • make the request of the server
  • check when the server says that it has completed the request, and
  • deal with the information returned by the server

We can make our request of the server by using a GET method to an appropriate server-side script.  Here’s an example event handler called updateData which assumes that we have created our XMLHTTPRequest object and called it http:

function updateData(param) {
var myurl = [here I insert the URL to my server script];

http.open(”GET”, myurl + “?id=” + escape(param), true);
http.onreadystatechange = useHttpResponse;
http.send(null);

}

Note that the function listens to the onreadystatechange property of the XMLHTTPRequest object and, each time this parameter changes, calls a further function useHttpResponse.

You will note also that, for the sake of clarity, I have said little about the server-side script which is called - essentially this can be any server routine which will generate the required output when called with the relevant URL and appended parameters, as in any other HTTP GET request.  For the sake of the example we are passing a variable named id with a value param passed as an argument to the updateData function.

Thirdly, then, we need to write a function useHttpResponse which will establish when the server has completed our request, and do something useful with the data it has returned:

function useHttpResponse() {
if (http.readyState == 4
) {
var textout = http.responseText;
document.write.textout;
}
}

Note here that our function checks for a readyState value of 4 - there are various numbered states describing the progress of such a request, but we are only interested in the value of 4, which indicates that the request is complete and we can use the returned data.

In this case, we have received our information as simple text via the responseText property of our XMLHTTPRequest object.  Information can, however, be returned as XML or as properties of a predefined javascript object, though this is perhaps beyond the scope of this tutorial.

Try out all the techniques described above in the Ajax Demonstration

Making Ajax Easy

There are quite a few toolkits springing up that package the Ajax calls into useable libraries.  For small projects, these may not be worth using due to the code overhead and learning curve involved, but for more complex Ajax projects you may find them useful.  You’ll find some relevant links below and elsewhere on these pages - feel free to explore.

Digg!
Continue reading...

Creating Breakthrough Ideas

Fri, Jun 6, 2008

0 Comments

When we design and create new software the goal we have in the back of our minds is “How can we make complex problems more easy for our clients?”. This means constantly thinking about easy to understand back-ends, intuitive interfaces and manuals which use the kind of language they can easily understand. Sometimes we have to re-design the same features many times until we find a flexible way of doing this that offers the best solution.

We define a breakthrough idea as one that make you say “how in the world I didn’t think of that before”. They are simple and elegant solutions to seemingly complex problems. Before we come up with an idea like that, we usually have a big mess. We are stuck and cannot find a good way out. We are almost ready to assume that there are no good solutions. We have thought of everything but the ideas we have are at best acceptable. They are not great. We don’t get excited when we think about implementing them. I think this is an important point. If we are not excited about what we are doing, we are probably doing it wrong.
Constantly Think About The Problem in Motion

You cannot rush this. You have to find yourself sets of problems and you have to think about them. Sometimes for days, sometimes for months and sometimes even for years. Every new development you see around should make you think of these problems in a different perspective. Including a way of thinking in your solution might be the way out.

Breakthrough ideas usually come from combining seemingly unrelated ideas together. You need to think about the existing problems and at the same time browse around on random unrelated ideas and always combine things. I don’t think only thinking about a problem is enough. You must also be always on motion. Motion increases your chances of hitting a solution. The history is full of stories like this. A scientist sets out to research about something but suddenly he recognizes something else on accident.

Misunderstandings can be Good

The chaos caused by misunderstandings was similar to the mutations that result in evolution. There is a very low chance that this will happen, but when it happens, it is like magic. You cannot believe how you did not see such a simple solution before. But it was impossible to reach there without the accidents. There was no way we could have come up with this solution if we did not talk about the problem many times and keep an open mind.

Focus on a Particular Problem Domain

You need to think about a problem in depth to be able to come up with new ideas. If you are only scratching the surface, it is pretty hard to understand the underlying problems. The worst thing you can do is to constantly move from one idea to another without getting a deep knowledge on it. Too little focus will kill possibility of breakthrough ideas. If you are working on too many different things, your attention span will be shorter and you will not be able to channel your energy to a particular problem.

I think anyone can come up with breakthrough solutions. You just need choose your problems and sometimes spend years with them. Know the domain well. Know where things don’t seem to be working well. When there are a lot of people with the same problem and the solutions are not satisfactory, there is an opportunity. You can be the one to provide a good solution.

The idea you come up with might be very simple and may seem like anybody could have thought about it. But that’s usually not true. You have to spend a lot of time on a topic, experiment and research. Once you understand the whole picture, you will also understand how making small changes affects the whole system. You will see where things does not seem to be working. Then you will start thinking about how to improve it.

It is not easy to stay with a single problem for a long time. But the rewards are worth it. Even if you don’t come up with the breakthrough solution, if you are on the same problem space for a long time, you can instantly recognize an elegant solution and probably redesign it and make it better in a very short time.

Think about the problem domains you are most familiar with. Are you spending your time on them or are moving from one field to another without getting a high level of proficiency in any?

Best Working Environment for Creativity

“People under time pressure don’t think faster.”. Breakthrough ideas are like that. You cannot come up with them when you are burned out, tired or stressed. All work and no play makes Jack a dull boy. Stressed environment will kill creativity since it optimizes for time and safety. It is easier to come up with ideas when things seem like fun. Relax and have fun. Don’t push yourself when you cannot think of anything. Just take a break and when you come back you will have better ideas.

You also need to have an open mind to reach any breakthrough idea. That’s why startups are pretty good places to come up with breakthrough ideas. They are open to new ideas and suggestions. On a startup, you are not part of a big well-defined machine, you are part of a team that is creating a new machine.

There are of course some large companies with an open mindset. One of them is Apple. Their slogan has been “Think Different”. They are probably one of the few companies that is continuously coming up with new breakthrough ideas. You need to give yourself permission to be different before you can get different ideas.

Embrace Constrains

Constrains are good for coming up with new ideas. It makes it easier to focus on a particular path and with focus you have to come up with new ideas to continue on your path. Whenever you restrict yourself you are also giving yourself a greater opportunity to come up with creative solutions. This is what happens when you are designing a software and you promise yourself to keep things simple stupid. So, you have to think hard and make it possible to accomplish a task with less steps. Artists know this very well. For example, when you are sculpting, the medium you are working on also shapes your work.

In short, here are some suggestions you should follow to come up with good ideas:
1. Choose yourself problem domains that interests you and stick with them for a long time.
2. Keep your working environment stress free and open to new ideas.
3. Keep yourself healthy. Regular exercise and good sleep will triple your creativity

Digg!
Continue reading...

New open-source product releases rolling out

Sun, Jun 1, 2008

0 Comments

Some of you may have noticed that the site has been undergoing a bit of a revamp since last year. This is in part due to my move to formalize more of my freelance work to ensure a certain level of quality is offered to all clients.

I’ve also started releasing some of my side projects to the open-source community, which among other things, will let you have a chance to play with some of the other technologies I could integrate or create from afresh for your projects.

This is an exciting time for Blarnee.com and I look forward to hearing your thoughts on the changes as I work through your projects.

All the best,

Addy.

Digg!
Continue reading...
Older Entries
AJAXed with AWP