Internet, Internet everywhere, nor any drop to drink

Trends No Comments »

It’s been everywhere for a long time, but in places other than the desktop the Web has been an elusive medium. The main reasons behind this are the varying support of the myriad devices used to access it (e.g. mobile phones, hand-held devices such as palmtops) and the lack of availability of a suitable connection.

As we sit on the cusp of 2007 we can look forward to the Web being more readily accessible on our old friend the television (see also “battle for the living room“). With Microsoft’s Xbox 360 already capable of Internet access and bundled with an Ethernet port ready for high speed web access, Nintendo’s Wii gaining a variant of the Opera browser and Sony’s forthcoming Playstation 3 also being web enabled, we can look forward to more people using their entertainment console and their TV to access the Web.

While most of this access will be for game, video, film and on-demand TV content initially, the capability and bandwidth is now in place to make using the TV a viable mechanism to access the Web. Add to this the growing number of Portable Media Players (PMPs) which are becoming web-enabled with built-in browser software (such as Archos) and we have a wider array of devices capable of connecting to the Internet. The growing ubiquity of wireless access also allows these new devices more freedom to roam and encourages people to make use of the Web wherever they are and on whichever device they choose.

Fortunately the technological barriers that many of what used to be called “edge” devices (because they were on the “edge” of the network or the “bleeding edge” of technology) are also being removed making it easier to get access without needing a PhD to figure out how to configure the settings. Mobile networks such as 3 (three.co.uk) have also introduced flat-fee Internet access meaning you don’t pay extortionate charges for surfing the web with your mobile.

The end result: ease of use and practical access from anywhere.

But does it mean we will?

We will see a growing trend in access from devices other than the desktop, with wireless and mobile access from a laptop leading the field (as it has been) for true Web access. New portable devices such as Nokia’s E61, Archos and Sony’s PSP will start to feature as Internet devices, although the latter 2 will be more media surfing machines rather than devices people might use to go shopping, check the next train home or check the latest news. Home entertainment consoles will lead the foray into making the home a networked environment with access to the Web, but again it will be media led rather than general surfing.

However, with the ability to contextually link content within media streamed to the home entertainment system to content on the Web, it won’t be long before we are buying the products we see placed in our favourite TV programmes with just the touch of a (red) button in much the same way that we can access additional content via the (red) button on our remote today.

The technological tipping point is already here, but the cultural one is some way behind - people will need to have (or be influenced to have) the desire to surf the web using devices other than the desktop before they actually do. The networked future portrayed in films such as The Truman Show, Demolition Man, and Minority Report is not far ahead of us and we should look to steer our Web presence towards the inevitable future.

AJAX versus Flash

Trends No Comments »

I have wondered for some time about why Flash never really caught on with its concept of Rich Media Applications. After all, it provided an application-like interface built around ActionScript (an OO JavaScript-esque language) with XML pipes long before AJAX became popular. However, the answer appeared to be right in front of me - there are less Flash developers out there than there are JavaScript developers. So has AJAX “won”? Time will tell as an elegant solution for web application development, but it certainly looks like the best option we have today.

  XUL XAML SVG Flash Applets Ajax
Desktop-like UI * * * * * *
Platform Independance       * * *
Vendor Independance           *
Skill Set Transferrance         * *

It also helped by reading this article from which the above table (showing other alternatives) was snaffled.

What is Web 2.0? (Video Footage)

Trends No Comments »

Agile Software Development

Trends No Comments »

Application development is undergoing a metamorphosis: on the technical side developers have never had such a comprehensive choice of tools to practice their craft, but the management and skills problems are greater than they have ever been. Less than 20% of systems are fully tested before they go live, resulting in the business being exposed to unnecessary risk; in part this is a management problem since testing tools are readily available – but the question is how best to use these tools. Development management techniques need to keep pace with the complexity and technological sophistication of the systems demanded by business. Agile Software Development (ASD or Agile) is one solution out of this dilemma.

Agile comprises a number of distinctive development methodologies that share a common philosophy and set of principles, as defined by the Agile Manifesto (see http://www.agilealliance.com/). Some of these methodologies, like eXtreme Programming (XP), have been around for a number of years and have built up momentum and experience in the software community. It is easy to get into semantic muddles when attempting to define exactly what the Agile way is and is not, but what matters is the detail, not the label. So the best approach to understanding Agile is to examine examples of the actual methodologies, such as Adaptive Software Development, Crystal, Lean Development, Scrum, and XP.

The Agile approach can be seen as an evolution of Rapid Application Development (RAD), which introduced concepts such as prioritising requirements into sets of must haves, should haves, could haves and will not haves (leading to the acronym MoSCoW). Another concept used is time boxing, a military concept of deferring a decision in the field until the last moment (the boundary of the time box), allowing maximum intelligence to be gathered before commitment. These RAD concepts transferred to Agile methodologies, but Agile introduced not just technical but - importantly - sociological improvements to development practice.

The sociological changes did away with the idea that programming was a black art that was separate from the business, rather the profile of the Agile programmer was a person with good communication skills, and as socially skilled in interacting with colleagues as other employees in the business. Social skills have always ranked high in business roles but to expect it in IT was novel. Agile has also been radical because it subverted well established principles such as: “plan deep and early”, and “build in future extensibility”. Both appear reasonable but both are typically problematic for software: planning deep and early is a waste of resources if requirements are known to change in the lifetime of the project – better to start on a known requirement and build around that. Again, building in future extensibility is another waste of resources because of requirements changes, rather meeting schedules on time or early is preferable to building latent features that are not going to be used immediately. Agile software development has now entered the mainstream, but the next step and challenge is to adapt management processes to work with Agile.

Reasons for adopting an Agile approach:

  • Agile software practices can accelerate application development.
  • The Agile approach promotes team discussion, understanding, and knowledge transfer over paperwork.
  • The Agile way is designed to cope with the consequences of fast-changing project requirements.
  • Agile development is part of the drive for quality, embracing Test-Driven Development.
  • The business case phase can benefit from an Agile analysis.
  • Agile is now mainstream for small to medium scale projects, with experience growing for large-scale projects.

AJAX in adolescence

Trends No Comments »

The emergence of the AJAX programming style in the past year and a half has made rich web clients more than just a pipe dream. The fact that it uses established technologies that are in some cases a decade old means that there is relatively little vendor control over its use.

CBR Online story.

According to Coach Wei -Â founder and CTO of Java/AJAX tools firm Nexaweb Technologies Inc and one of the founders of the Open AJAX project - the top issue at this point is interoperability. With anywhere from 150 to 200 different AJAX tools out there, there are as yet no standards for making widgets, or visual controls, which are portable from one to the other. However, that’s just the tip of the iceberg. As the scripting language JavaScript (the “J” in AJAX) is notably unstructured, and consequently, best practices have yet to emerge on how to readily debug JavaScript.

AJAX, a Web 2.0 technology, does provide for some excellent applications - for example Google Analytics, Basecamp, Flickr, iStockPhoto and many more. As applications (ie tools used by a known and identifiable group of users), the AJAX integration provides for beneficial tool to enable a link between a web page and a server-side application without needing a page refresh every time you click a button or link. This may be an over simplistic abstraction, but it is the essence of AJAX. What happens within the AJAX code is limited only by your requirements.

An alternative to AJAX is Adobe Flash. Flash has also had the ability (via Actionscript) to conduct XML interactions with server-side applications. You could argue that Flash is better because it provides additional tools for developing a user interface for your application, so you can get both form and function and effectively deploy a rich application to users desktops via a web browser. This was the push behind Macromedia’s (now Adobe) Rich Media Applications that have been around for a few years now. See Pandora as an example of a Rich Media Application, essentially using AJAX principles behind the Flash interface.

So, the idea is not a new one, but the questions of how we deploy it in a standards-oriented way so that we can safely transform a set of JavaScript programs into a formal architecture which we can enhance and develop as a true enterprise-class framework.

As an aside, we should also not get carried away with the hype of new technologies and look to put Ajax into everything we do. As an application framework it is a very useful addition to the toolkit, but for straightforward web design and development it’s overkill. Remember, JavaScript = no search engine indexing of the content presented by the JavaScript. It also means potential accessibility issues if people have JavaScript disabled. Flash is more portable and may be a better option but it depends on who is going to be using the application.

AJAX will continue to grow in popularity and ubiquity, and as standards and best practices are developed it will become a more capable solution. One advantage it has over Flash is that it’s just another coding language and so is more accessible to developers than Flash which is a different proposition as it requires new applications and new techniques, and often a designer :).

WP Theme & Icons by N.Design Studio
Entries RSS Comments RSS Login