Articles on Software Technology

Happy 2013 everyone! This is my first article for the new year. If one of your goals for the new year is to build an online presence for your business, this is an article might come at the right timing. (Still haven’t planned what to do for your business in the new year? Take our Innovation Scorecard Test if you have an existing business; Or Startup Checklist Test if you are starting up a new business.) Good news is there are abundant of solutions available to you in launching your online store today. Just to name a few, they are webShaper, Shopify, Magento, PrestaShop, and many more. Although the widespread of choices is hardly a bad thing, but many business owners are swamped with options. They aren’t sure about “the best” solution for their business.

The construction industry has substantial socio-economic impact, both nationally and internationally. Yet, given the obvious importance of the industry, it is surprising that the general view of the industry is one that is resistant to change, inefficient and lagging behind most industries in terms of technology implementation. This is largely due to the nature of how the industry operates, and the relatively low awareness of technology capability among industry players. With globalization happening at such an immense pace, operational costs on the rise, and increasing demand for more quality and sophisticated buildings, we need better ways of doing business now. As already proven in other industries, technology can help small companies to act “big”, and help big companies to act “small”. Small construction firms can leverage on technologies to acquire some of the capabilities and market access of larger organizations, while large construction firms can use technologies to achieve some of the agility and responsiveness of small organizations.

Due to the factor such as time, manpower and to meet the evolving requirement in software development, it is often not possible to include all the features users might need during the initial release of software. As an extensive software platform, it is imperative to provide a robust infrastructure where the services are always up-to-date and up-to-demand so that user requirements will be met as time goes. Software plug-in is a good mechanism to provide frequent update and encourage user contribution to improve the software. In order to ease the end-users of enhancing the software, a plug-in must be able to implement easily without extensive coding. The small plug-in file can then be downloaded by the users and ‘plug’ into the program to provide extended functionality to the software.

In this article, we present a simple approach for implementing a pulse analyzer for devices with limited computational power, such as mobile and wearable computers. The main purpose of this system is to continuously monitor the ECG of a person and detect any possible heart abnormalities. The idea is to break the required computation in two parts. The learning and model building part that requires high computation is done on a desktop computer. Once the model for a person is built, it uses a low computational cost signal analysis approach to analyze the signals in real-time. The system has been implemented on an IBM WatchPad, a wearable Linux computer designed as a watch. The experiments conducted show that the system produces reliable results. This approach can benefit the embedded systems in the medical domain, such as the personal health monitoring devices, etc.

Creating a 3-D game engine is not a trivial task as gamers often demand for high quality output with top notch performance in games. In this article, we show you how various real-time rendering algorithms can be applied to implement a practical 3-D game engine. We explore the general architecture of a 3-D engine and discuss the role of a scene graph in a 3-D engine. We will look at scene graph from the software engineering perspective. In particular, we show you the way to design a scene graph that is object-oriented and portable across different rendering engine. Then, we explain the algorithms that we apply to speed up the performance of our 3-D engine. We optimize the 3-D engine on the scene graph and object geometry levels. The algorithms that we propose are expected to perform reasonably well for both static and dynamic scenes. Finally, we give you a brief preview on the possibility of parallel processing in scene graph to create a 3-D engine with multiprocessing capability.

The rapid increase of complexity in today’s games has made managing game resources and assets become a major challenge to game developers. This article presents a lightweight resource and asset manager that can be used to manage the resources in most games effectively. We show you how a centralized resource manager is built and used to increase the reusability of game resources. This resource manager is then used by the asset manager to create various game assets. We propose a specification that describes 3-D object (one type of game asset) that is constructed from the resource manager. We extend the specification further to allow game developers to configure the 3-D object flexibly to suit various needs. Finally, we give a few thoughts on how the asset manager can be extended further for creation of other game assets through the resource manager.

After much anticipation, the demo of Sun Crusher: The Great War is released. This is a unique blend of third person action and real-time strategy game by Bad Nose Entertainment, where you take a role of a prisoner trapped in a prison armor designed to hold rather than protect, you are sentenced to indefinite service to the Corporation’s military service.

After months of planning and design, finally I am able to show you the first look into Sun Crusher: The Great War. This is Bad Nose Entertainment’s upcoming exciting sci-fi action game, which is a unique blend of third person action and real-time strategy game. In Sun Crusher, players take a role of a prisoner trapped in a prison armor designed to hold rather than protect, you are sentenced to indefinite service to the Corporation’s military service. Engage in the Sun Crusher’s unforgiving universe as you, a mobile weapon of destruction in the employ of the Corporation wage war against rival forces and ultimately will you attain freedom from the very prison that binds your very soul. Follow story driven missions and embark on espionage within massive interstellar warships to planetary battles and unravel the very corruption of the Corporation. Players must utilize a mix of stealth and tactical decisions and mastery of state-of-the-art weaponry and occasionally brute force to complete missions.

IP telephony or Internet telephony had been used by a lot of Internet users as well as organizations and companies as a cost effective telecommunication tool. As the usage of IP telephony become wider, its role had been expanded into more than merely a communication device. Some IP phone software also provide additional services like email, file transfer, whiteboard, etc. IP phone users will value these extra services and choose the one that fulfill their needs. As a result, the IP telephony service operators and IP phone developers have to keep revising and rebuilding their program with new and exciting services. This process is undoubtedly very time consuming and costly.

This article introduces a framework to develop a highly extensible IP telephony system. A great effort had been put to carefully design each module in the system to ensure its reusability and extensibility. The key components in this system are: (1) a general phone engine specification that can be implemented using any proprietary telephony API, (2) a communication interface module that performs client/server communication in a predefined XML message, (3) service plug-in and service provider manager that allows new services to be added into the system easily. By following this framework, we will be able to develop an IP telephony system, which allows rapid development of new services into the system with the minimum amount of time.