Tuesday, July 10, 2007

Mobile Game: User interface

User Interface
This blog entry shall cover the user interface component of the racing simulation game that my team is developing as Galactic Games first foray into mobile games development.

As noted in my previous blog posts, the game we are developing is a port of an existing racing simulator for the PC platform. My team is porting the game to the Windows Mobile platform as an offering for both Pocket PC and Smartphone devices.

Input
The PC version of the game allows the player to control the game via a joystick or keyboard combination. Menu selection and navigation can be achieved via the joystick (if connected) or mouse.

For the mobile game port, the game input method is via hardware keys that are found on all Windows Mobile devices, as part of the platform hardware specification. Six buttons are required (left, right, forward, reverse, brake, accelerator) and the actual configuration of the buttons can be assigned by the user from default. The user may use control menu selection and navigation via the touch screen and/or hardware buttons. We will simplify the game menus from 6 main menus and 32 submenus down to 3 menus, 12 submenus for the mobile game version. With a simplifcation of the menus, the number of game options and configurable items will also be reduced in line with an overall simplifcation of the game.

Display
For the PC version, the game runs in full-screen mode at the highest resolution that the PC the game is running on can sustain. For most PC's this equates to a resolution of 800x600 or higher.

The highest resolution Windows Mobile platform available is 640x480, with the bulk of devices being 320x240. To cater for the lower screen resolution, the game engine programmers have been instructed to modify the engine to check the device resolution and scale the graphics to suit. The game will run in full-screen mode, with the option of being presented in landscape or portrait format.

Sound
For the Windows Mobile version of the game, all existing sounds will be carried over as both WAVE and MP3 formats are supported. In most cases, the sounds will be converted from stereo to mono, in order to reduce their size and reduce demand on the CPU during playback.



Monday, July 9, 2007

Mobile Game: System design - The game character(s)

The Game character(s)
Short entry this time around, not much to discuss in regards to game character because the game under discussion is a racing car simulation!

Throughout the game the user plays as Rick Johnstone, Formula 1 car racing champion. Rick won the world champsionship 3 years ago, but subsequently had a serious racing accident and was forced onto the sidelines for the past 2 years.

Rick is now on the comeback and hopes to win another world champsionship. The player gets to race as Rick in a number of races located around the world during Rick's bid to become world champion for a second time...

Sunday, July 8, 2007

Mobile Game: System design - The game world

Introduction
Greetings, in this blog post I'm following on from my series of posts on my development teams progress in designing our first mobile device game. In this post, it is my intention to discuss system design of the game world.

Game World
The game world for the car racing simulator can be broken down into the following elements:
  • Key locations: Famous car racing circuits located throughout the world
  • Scale: As close to 1:1 mapping between real world racing circuits and the reconstructed game versions.
  • Objects: The world will contains as many object as possible to simulate a real racing circuit as possible taking into account the reduced memory and display capability of mobile devices. Objects can include: Spectator grandstands, Overhead billboards, Track markings and so on. The level of detail and textures used needs to be scaled for the mobile device.
  • Day or night: All races will be conducted in a daytime setting.
  • Redering: The game shall utilize a 3-dimensional rendering engine.
  • Camera: The camera view will be in a fixed position slightly above and behind the race car driver position. We have elected to keep the camera in a fixed position to keep processing during scene rendering as low as possible.
  • Game engine: The game enginer programmer in the development team is responsible for porting the game engine used in the PC version of the product to the Windows Mobile platform. The engine is a custom in-house developed platform written in C++ for DirectX.
  • Game lighting: A simplistic 3d lighting model using basic DirectX effects shall be used as complex effects are not support on the Windows Mobile DirectX implementation.

Saturday, July 7, 2007

Mobile Game: System design - Game overview

Introduction
In my previous blog post (Mobile game system design platform) I outlined the decision my design team had made on selecting Microsoft Windows Mobile as the target platform for the companies first mobile computer game. This blog entry is a follow on post in which I intend to provide an overview of the game that we intend to produce.

Game Overview
For our first mobile game, we have decided to do a port of an existing DirectX game that was developed approximately 2 years ago for the PC platform. The primary reason behind this decision is that we can utilize completed PC software and game assets, with the majority of the effort being modification of these components to suit the mobile platform. It is my opinion that the team has made a good choice because it allows us to developer a game for mobile device and gain experience doing so, without having to invest in a significant amount of time in a full game development cycle by using source code and assets from an existing game.

Here are the key details of the game in point form:
  1. Type: Car racing simulation.
  2. Environment: First person, 3-dimensional perspective.
  3. Objectives: Win race (single race and career mode), Time trial and Obstacle course.
  4. Playing style: Single player, local mode. Multi player via network (High speed networks only: i.e. 802.11 a/b/g or Bluethooth).
  5. Input method: Hardware buttons on mobile device (4-way directional pad, plus 2 seperate user assignable buttons for accelerator and brake functions)

Friday, July 6, 2007

Mobile Game: System design - Platform selection

Introduction
Following on from my previous reflective blog entry that covered the development team's collective thoughts on mobile game development, I'm beginning a number of blog posts that cover system design of the game. The standard company process for system design is to create a system design document that is based on a modified template produced by Chris Taylor. I will attempt to cover the key points of that system design document here in this blog as a mirror of the team effort to produce the document.

Platform selection
Selection of device and programming platform is a major consideration for our team due to the fact that the company has specialized in development of games for PC's and consoles. The game and engine programmers in the team all have DirectX and Windows development experience.

In reaching a decision, the team has decided to propose that we develop our mobile game for the Microsoft Windows Mobile platform. It has been recognized that this is not the dominant platform, but the following considerations have made this the best choice for us at this point in time:
  1. Windows Mobile platform supports DirectX[2]: We have a significant investment in DX development and can thus realize a reduced time-to-market for the game relative to the same development being performed on a different platform (learning curve, education, purchase of new toolsets, etc.).
  2. Windows Mobile devices, in general, have a higher hardware specification than equivalent devices from Symbian aligned manufacturers[2]. This allows us to develop a richer gaming experience with either 2d or 3d scenes, with larger screens, more detail and colors.
  3. Established marketplace: A number of online distribution channels (i.e. AvantGo) exist as a mechanism for publishing and selling the game. As a game company we already have a publisher for our products, but in the event that we wish to sell directly to the market it is reassuring to know that existing sales channels are available.
References
[1] Taylor Chris, Design Document Template, http://www.ihfsoft.com/designdocuments.htm
[2] Wilson Frank-Lee, Graphics with DirectX in Windows Mobile 5.0 Games, http://msdn2.microsoft.com/en-us/library/Aa454886.aspx

Tuesday, July 3, 2007

Mobile Game: Initial entry

Game design reflections

Introduction:
The team attended the Mobile Games developers conference yesterday. It was an interesting event and for the team, we learnt a lot about the nuances, traps and limitations of developing games for mobile devices. The positive part about mobile games development is the revenue potential, it would seem that the worldwide gaming audience for this platform is set to explode. Chauhan[1] predicts there are likely to be an audience of up to 220 million gamers worldwide. The remainder of this blog entry is an attempt to reflect upon the team's findings at the conference and also to document the decision making process behind our game development proposal to management.

Platform:
Whether the platform is Symbian or Microsoft based, there are some considerations that a game development team need to take in account when developing games for a mobile device. Members of the panel discussed these limitations and referenced an article by Fox[3] and Lam[4] as a basis for the points raised. Some of the crucial factors covered in the articles and expanded during the panel discussion were:
  • Small amount of program memory (RAM) and storage memory (EPROM / FLASH)
  • CPU with limited floating point performance.
  • Display with typically 100 x 100 (small) through 320x 240 (large) pixels. Limited number of colors on base model devices.
  • Limited or no sound capabilities.
Development on each platform also varies. For example:
  • Symbian based phones from most manufacturers generally support J2ME (Java 2 mobile edition).
  • Microsoft based devices can be programmed using C, C++ or a .NET based language (VB.NET or C# [managed C++ is not supported yet])
User interface:
Korhonen[5] was cited during the panel discussion for the study he produced that contains a number of game user usability heuristics that are essential to good mobile game development. I have repreated some of the more general game heuristics here for good measure and added a number of key mobility ones which are extremely useful to our team, given that we have no mobile game development experience:

Game usability:
  • Screen layout is efficient and visually pleasing
  • Device UI and game UI are used for their own purposes
  • Indicators are visible
  • The player understands the terminology
  • Navigation is consistent, logical, and minimalist
  • Control keys are consistent and follow standard conventions
  • Game controls are convenient and flexible
  • The game gives feedback on the player's actions
  • The player cannot make irreversible errors
  • The player does not have to memorize things unnecessarily
  • The game contains help
Mobility:
  • The game and play sessions can be started quickly
  • The game accommodates with the surroundings
  • Interruptions are handled reasonably
Game type:
Game types on mobile devices was also covered during the panel discussion. Obviously the platform plays a big factor in the type of games that can be realized (for example: Some platforms may have support fo 3d graphics), but in general, mobile game types can be categorized into three main groups according to Chauhan[1].
  • Embedded games - Hard coded into the mobile (i.e. "Snake" in Nokia phones).
  • SMS games - The games mode via SMS, sending test messages between games server & client. The cost of the games will increase when each SMS sent to server. (For example: Zork via SMS or a city tourist trail via SMS.)
  • Browser games - Today's the most popular type, due to the games provide multimedia-rich and lower cost of gaming than SMS games. Using the mobile built-in net browser, playing the games online through games web site, or it can download for offline gaming.
Conclusion:
Overall, we learnt a lot from the Mobile Developers conference. This blog entry has been an attempt by me, as team leader, to chronicle the team's learnings from the conference. The team has been developing games for a while now, but not on mobile devices, thus we attended the conference with an open mind in order to learn "what it takes" to develop games, potential game types, typical audiences and revenue streams for mobile games. The next set of blog entries shall be based of the findings documented here and will reflect the system design of the first mobile game project step-by-step prior to submission to management for approval.

References:
[1] Mugdha Chauhan, Developing Java-Based Mobile Games, http://www.developer.com/java/j2me/article.php/3502741

[2] Attewell, J 2006, Mobile technologies and learning: A technology update and m-learning project, http://www.lsda.org.uk/files/PDF/041923RS.pdf

[3] Fox, David 2002, Developing Cutting-Edge Mobile Games, http://www.oreillynet.com/pub/a/wireless/2002/11/14/game_dev.html

[4] Lam, Jason 2003, Consideration for mobile games development, http://www.wirelesspronews.com/2003/0701.html

[5] Korhonen H., Koivisto E. M. I 2006, Playability heuristics for mobile games, September 2006 Proceedings of the 8th conference on Human-computer interaction with mobile devices and services MobileHCI '06, ACM International Conference Proceeding Series; Vol. 159

[6] Liljedal, A 2002, "Design Implications for Context Aware Mobile Games", Uppsala University, Sweden, http://www.tii.se/mobility/Files/Master%20Thesis.pdf.

Note:
To Ken - As we have used a previous student group NAD due to not having a large enough class to run our own, I have approached this differently to give it a unique feel. My scenario utilizes the supplied NAD document within the context of being a panel discussion held at a Mobile Games developers conference. The entries within the NAD comprising the opinions, statements and facts presented by participants and the audience during the themed panel discussion covering development of games on mobile devices.

Monday, July 2, 2007

Mobile Game: Developer introduction

Introduction

Welcome to my developer's research and discussion blog. I work as a game programmer for a company called Galactic Games who specialize in the development of games for the PC and console platforms.

The team I work in has recently been tasked by management to investigate the possibility of developing games for mobile devices. Management have recognized this as a major growth segment within the games industry. The definition of mobile devices, as given by management for the purpose of this task is: Symbian based phones (i.e. Phones from manufacturers such as Nokia and Ericsson) and/or Windows Mobile Smart-devices (i.e. Phones or PDA from manufacturers such as HTC, Dopod and Samsung).

The first milestone for the team is to develop a proposal for a single mobile game, with detailed analysis and rationale for attributes of the game such as: game type, user interface, choosen mobile platform and so on. To help the team, we will be attending a Mobile Game Developers conference next week, at which a panel of developers and experts will hold a discussion and debate to discuss development on mobile platforms.

At the completion of the conference, I'll add another entry to this blog with some reflection thoughts on the discussion held there and how it has helped shape the team's direction with our mobile game proposal.

Sunday, July 1, 2007

Assignment #2 - Mobile game development

Blog change - Introduction to assignment #2 (ITC565)



As part of the ITC 565, the second assignment is a negotiated game design, specifically a game for mobile devices.



Therefore, the focus of this blog is now related to the design of a mobile game, taken from the perspective of an application developer working on the design team for the game.

Thursday, June 14, 2007

Dell's e-system: Programming of web-servers

Performing research on the type of web-server platforms and programming languages used by Dell has proven to be a difficult task, with little recent information available.

In his report Sall notes, "The Dell.com was relaunched November 7th in 80 countries with 22 different languages. The site uses Active Server Pages, Microsoft's IIS, Commerce Server, and webMethods' b2b Integration server. Cookies are stored with precise information about the customers' purchased products so that they can be automatically directed to the pages most relevant to them."

Browsing of the Dell Australia website, I note that many of the top-level webpages included the .aspx extension. This indicates, that in Australia at least, Dell has moved to using ASP.NET rather than ASP. Usage of ASP.NET allows the Dell website to become a fully-fledged programmed non-trivial web-application that can for example include: tight coupling to databases, ability to generate or parse XML documents, dynamic content and so on. Programming of ASP.NET applications can be achived through either VB.NET or C#, both of which are object oriented languages. Program code is either placed in line with the web page or in a 'code-behind' file.

A white-paper (propaganda?) by Microsoft[2] would seem to confirm my findings, indicating at the least a partial move by Dell to a Microsoft .NET (and hence ASP.NET) based system. Furthermore according to the article, by using Microsoft .NET XML webservices technology for prototyping Dell validated the usage of .NET XML webservices within the organization.

References
[1] Ken Sall, Dell.com: XML Case Study and Web Catalogue, http://wdvl.internet.com/Authoring/Languages/XML/Conferences/XML99/dell.html
[2] Microsoft, Dell commites to a .NET connected web services architecture, http://download.microsoft.com/documents/customerevidence/6634_Dell_DotNET.doc

Dell's e-system: XML

The Dell websites are extremely large and complex. In order to reduce this complexity, duplication and maintenance effort Dell employed the use of XML. The following summary [1] is a brief report on a presentation given by John Winfrey of Dell Computer who spoke of "Data Transport and Management Using XML", which focused on the US Dell Web sites:

"Dell.com is a huge site to maintain, having 20,000 pages in its Services section alone. However, the site is key to Dell's success since it nets Dell $35 million per day in online sales, which now represents 43% of all sales (their goal is 50%). The problem that XML was selected to solve is one of duplication of content across major sections of the Web site, such as Home and Office. Much of the product information is very similar for certain configurations but may have slightly different options. Prices change on the average of three times a week at Dell, so it was tedious to make the necessary page changes using an HTML-only approach. Moreover, Dell's redesign needed to take into account what they call customer-ization, the ultimate in customization because it includes the exact product owned by the customer as well as locale factors (such as language). Winfrey spoke of ePub, the term Dell uses for the set of tools, Web server, plus application for the management and delivery of content. "

References
[1] Dell.com: XML Case Study and Web Catalogue, http://wdvl.internet.com/Authoring/Languages/XML/Conferences/XML99/dell.html

Sunday, May 27, 2007

Dell's e-system: Order fullfillment process

Fullfilling orders
In order to support the direct sales model Dell utilizes a build-to-order manufacturing system. Dell's e-commerce system is integral to the manufacturing of computers and provides a mechanism through which orders flow from the customer through internal systems and onward to Dell's suppliers and vendors that provide components or services required to manufacture computers.

Dell organizes it's manufacturing by region, with one or more assembly plants to service each regional market according to Kenneth et al[2]. Kenneth describes this part of Dell's I.T. system thus, "A key to manufacturing is managing inbound logistics with suppliers and contract
manufacturers. To have the parts it needs at the right time to assemble a PC, Dell requires
suppliers to hold inventory in warehouses within a 15-30 minute drive of its plants. Dell then
informs the warehouse when parts must be replenished, and they are trucked to the plant, where they are pulled off of the trucks as needed. When a PC is fully assembled, it is sent to an
outbound logistics hub where it is joined with the monitor and peripherals so that the complete
system arrives at the customer’s site together. All of these logistics are coordinated by Dell
through its internal IT systems and via electronic linkages with suppliers, its own logistics hubs, shipping companies, and distributors who handle third party items.
"

It is clear that the e-system employed by Dell, for the purpose of facilitating a virtual company is an impressive and complex use of information technology. Within the order fullfillment subsystem, control of ordering and logistics both internally and with suppliers ensures that the company has high levels of control over stock levels, shipping schedules and so on.

How does this benefit Dell's bottom line? By utilizing a direct sales and build-to-order model, Dell does not have to build up a large inventory of components or completed goods, either internally or within retail sales channels. Typically, Dell has an inventory turnover rate of approximately 60 times per year, compared with only 15-20 times a year for a typical indirect computing manufacturer. Kenneth[2] notes that this is key point, computing equipment can lose value significant value whilst waiting to be sold, especially if new product or component models are forthcoming.

References
[1] Kenneth Kraemer and Jason Dedrick, Dell Computer: Using E-commerce to support the virtual company, http://www.crito.uci.edu/git/publications/pdf/dell_ecom_case_6-13-01.pdf

Saturday, May 26, 2007

Dell's e-system: Business to Business (B2B)

Selling computers to business via the internet

Short post to the blog this time around. In this posting I want to briefly discuss the B2B portal called "Premier Pages" that Dell customize for various business that have or intend to make large or consistent purchases from Dell.

"Premier Pages" (PP) are part of Dell's e-commerce system that provides a public webbased portal for potential or existing business customers to order computers. The portal is designed so that each business accesses a customized series of web pages. From these pages a user can review and purchase computers and related equipment. In most cases, the computers available for order a pre-configured to the specification of the businesses I.T. department. Furthermore, the PP offers a business the ability to review historic orders, modify any existing standard configurations for computers and accessories and generate paperless purchase orders.

According to Kraemer et al [2], Dell's PP is an extremely valuable part of Dell's e-commerce system. Firstly, it provides a means by which it can attract large companies to select Dell as a supplier of their computing equipment due to the features and ease of use associated with it. Secondly, the PP portal provides a paperless B2B mechanism through which business can place orders with Dell. Once orders are received the PP portal can pass the order directly onto the appropriate order component of the e-system.

Conclusion

Beside the standard consumer/smb website, the PP portal is the other primary means by which Dell can receive electronic orders for computers directly from other businesses. It forms a critical part of Dell's e-commerce system as it essentially represents the "frontline" of the system

References
[1] What is Premier, Dell Computer, http://www1.ap.dell.com/content/topics/topic.aspx/ap/topics/main/en/whatispremier?c=au&l=en&s=lca

[2] Kenneth Kraemer and Jason Dedrick, Dell Computer: Using E-commerce to support the virtual company, http://www.crito.uci.edu/git/publications/pdf/dell_ecom_case_6-13-01.pdf


Dell's e-system: Business to Consumer (B2C)

Selling computers to consumers and SMB's via the internet
Although it may seem common-place now, with many companies selling their goods and services via the internet, Dell was one of the pioneers of the direct sales via the internet model back in the mid 1990's. According to the Business2000[2] website case study on Dell, since 1996 when Dell opened its website www.dell.com for e-commerce the company has had huge sales success. By 1997 the company recorded $1 million in online sales. By 2000 the company’s internet sales had reached $50 million a day.
Dell markets it products and services directly to the consumer. The advantages of this for the consumer are that they may take as little or as long as they like to choose a product and configure it to suit their needs and budget. The screenshot below depicts the current homepage for Dell Australia. Dell splits up their product line into home/small office, medium business and large business categories.
Once a category is selected the user can view the product range to select the type of product that they are interested in purchasing. The screenshot below shows the product range for laptop computers in the home/small office group. Note the use of clear, colorful pictures and eye-catching product offers. According to Maguire[3], Dell has been one of the pioneers of direct consumer sales via the internet and their webpages are prime examples of the right way to sell products on the internet.
Once a particular product is selected. The purchaser has the opportunity to customize that product with peripherals and additional accessories to suit their requirements. As the product is customized the website recalculates the total cost.
Upon completion of the product customization or selection of a product model without change, the website allows the user to add the product to an online shopping cart. If the user elects to go ahead with the purchase of one or more products within their online shopping cart, the purchase may take place online, via a secure payment system, through Dell's finance services or the consumer may elect to call Dell to make payment. Once the payment has been made, the purchaser may return to the Dell website to track their order as it passes through the build-test-package-distribute cycle.
The direct-to-consumer via the internet sales approach also has advantages for Dell. Kraemer et al[4], note in their research paper on Dell that the value chain created around their products is simple: Suppliers->Dell->Customer. This simplified value chain allows Dell to have direct interaction with their customer and it saves them money by only building computers once a customer orders it (reduced warehouse related costs).
Conclusion
This blog entry is intended to be an informative piece that illustrates the unique method of directly selling computers and related products to consumers via the internet. In the mid 1990's Dell was a pioneer of this technique and remains so to this day. Their computer value chain is simpler than other PC manufacturers and does not introduce channel conflict with this model.
In researching this entry, I learnt that Dell had, prior to 1996, actually sold their computers via the traditional PC manufacturer model. But, they realized the value of the direct sales model through the then rapidly expanding internet and began moving their sales, service and manufacturing systems across to an e-commerce model whereby they effectively have become a virtual company.

References
[2] Business2000 website, Dell Case Study, http://www.business2000.ie/cases/cases_7th/case8.htm
[3] James Maguire, Case Study: Dell.Com, http://www.ecommerce-guide.com/news/trends/article.php/10417_2013731
[4] Kenneth Kraemer and Jason Dedrick, Dell Computer: Using E-commerce to support the virtual company, http://www.crito.uci.edu/git/publications/pdf/dell_ecom_case_6-13-01.pdf




Dell - a giant of e-commerce

Dell Computer is known around the world for it's ability to offer user customized computer systems quickly and simply via the Dell website to both consumers and businesses alike. It represents one successful example of a large company that has moved completely out of the "old world" retail channels into the virtual retail marketplace that the internet offers. According to Maguire[1], Dell launched it's website as nothing more than a static web page in 1994. By 1997, it was the first company to ever record one million dollars of online sales.

The remainder of this blog is dedicated to examing the underlying architecture and e-systems that compromise Dell Computers e-commerce platform. It is my intention to start at the "forward facing" components and work backward in in order to exame the architecture that forms the underpinnings of an extremely successful e-commerce company.

References:
[1] James Maguire, Case Study: Dell, http://www.ecommerce-guide.com/news/trends/article.php/10417_2013731

Sunday, May 20, 2007

Some definitions first: Client-server computing and e-commerce

Introduction
The purpose of this research blog is to delve into e-commerce applications and investigate the pervasive usage of the client-server computing model that has been utilized by many systems to underpin this type of system.

Before going into detail, it is worthwhile researching and defining exactly what client-server computing and e-commerce actually is.



Client-server computing

The Wikipedia article[1] summarizes client-server computing thus, "Client-server is computing architecture which separates a client from a server, and is almost always implemented over a computer network.". A simplified yet detailed description of this computing model is described by Morgan[2] as a distributed computing system where a one program (on a client computer) communicates with another (on the server computer) for the purpose of exchanging some type of information.




According to Morgan, a typical data exchange commences with the client program making a request to the program running on the server. The server then prepares the response, with the actual processing that occurs being dependant upon the type of program, underlying data store and so on. Once the information has been prepared a response is sent by the server back to the client, therefore completing the request-response cycle.

E-commerce
E-commerce is the practise of utilzing computer networks, such as the internet, as a marketplace for activities directly or indirectly associated with the selling of goods and/or services. The Wikipedia e-commerce article states, "Electronic Commerce is exactly analogous to a marketplace on the Internet. Electronic Commerce (also referred to as EC, e-commerce eCommerce or ecommerce) consists primarily of the distributing, buying, selling, marketing and servicing of products or services over electronic systems such as the Internet and other computer networks". Brain[4] has written a great e-commerce primer at the website "HowStuffWorks".

References:

[1] Wikipedia, Client-server computing, http://en.wikipedia.org/wiki/Client-server_computing
[2] Eric Lease Morgan, Infomotions, http://www.infomotions.com/musings/waves/clientservercomputing.html
[3] Wikipedia, E-Commerce, http://en.wikipedia.org/wiki/E-commerce
[4] Marshall Brain, HowStuffWorks, http://communication.howstuffworks.com/ecommerce.htm

Thursday, May 17, 2007

Welcome to Michael's research blog

Greetings one and all.

This is my research blog for the ITC565 subject that is part of the Master's degree I am currently studying for. The intention of this blog is to investigate, analyse and comment on the recent advances, associated technology and architecture of e-systems for the purpose of e-commerce.

My personal blog can be found at http://www.mickp.net

Cheers for now,

Michael Pearce.