Software application development
This blog is intended to provoke discussion and exchange between like minded software application developers, engineers, architects, project managers - and keen hobbyists too.
Wednesday 7 November 2007, 11:18 AM
Scalability – what’s all the fuss about?
Scalability seems to a popular topic these days. Personally I can’t see why it’s such an issue and I’m a touch sceptical as to whether most of the hubbub out there is pumped out by companies pushing scalability solutions. It’s not like a business wakes up one Tuesday and says, “hey, we’ve grown 2000% in the last 18 months – darn it, why didn’t we think about scalability planning.” Well, I mean, honestly now. For the record, I’m not talking about mergers and acquisitions either, that’s a different kind of scaling.
That said, you might reasonably argue that IT infrastructures for e-commerce and other web business services have the potential to catapult businesses forward, but is it really such a sensitive issue? I guess the world of Internet commerce is like no other in terms of high volume, high transaction activity – so maybe there is substance in this argument.
Seeking enlightenment, I spoke this week to a company in this space called Nimsoft. According to these guys it’s all down to monitoring and being able to be predictive about the likely loads that will be placed upon the IT infrastructure. They sport a product with an array of business reporting functions to offer customers predictive, historical and real time information to actively manage their Rich Internet Applications for web services. It’s a fair point I suppose; you don’t invite ten extra people to a drinks bash without ordering more Twiglets do you? (for want of a better analogy) Will we hear more about scalability in future then? Signs are that the answer is yes.
Sunday 4 November 2007, 4:48 PM
Does Apple’s Leopard Roar?
Apologies for the hackneyed headline, but it’s not copyrighted, so I figured why not. This Sunday afternoon I upgraded my MacBook Pro in eager anticipation by installing the Mac OS X version 10.5 Leopard, the sixth release of Mac OS X in six years. There are, I’m told, over 300 new features, so I wondered from the start how many I would use. There have been many reviews posted over the last week or so, but here are my impressions.
Immediately it’s clear, this is definitely a more web-aware OS than previous versions. A Downloads folder now sits comfortably next to my Trash Can - and Dashboard is now customisable so that I can insert live updateable widgets copied (to my desired size) from any web site I choose. As an iGoogle user, this type of cut and paste action is already something I’m comfortable with, but I guess this gives me access to the entire web rather than just the widgets that Google thinks I might have wanted such as gmail, weather and word of the day.
It’s remarkable to see that many of the developments are tasks that I had previously been “finding another way to achieve”. Chief among these is the Stacks function. Up until now I had been leaving minimised folders down in the Dock (which is now in 3-D!) for each different project I was working on. Now I can access them all in half the time from the ‘Stack’ either by leaving them in the Documents directory or dragging down a new stack for each project.
Time Machine is widely regarded as the killer app to be brought to the party. The product is intended to allow you to recover deleted or lost files by providing an instantly restored file version from the system’s auto save functionality. Whether this has implications for system security I’m not sure. But it does raise the question – “what about when I really really want to delete something and don’t want anyone else to ever see it?”
Quick Look is a welcome addition, it allows me to get a glimpse of a document, image file or other by simply hitting APPLE-KEY Y. But better, in my opinion, is Spaces – now I can keep my two work e-mail accounts and hotmail running and in a completely separate pigpen to the rest of what I’m doing. When I want to do mail, I go to my mail space – when I want to write, I open up my editorial space where I run Word, Acrobat and Adobe InDesign. The only drawback is that if I want to quickly look up something on the web while writing in Word, I have to move to my mail space (where my browser is open to access hotmail) to do so, well – actually, it throws me over automatically, but then I manually have to make the journey back.
Safari is behaving more like Firefox with better tab design, no major surprise there, but good news none-the-less. The Cover Flow feature in Finder is just a joy, you’ll never choose between icons, a list or columns again when selecting your method of file search, how much nicer is it to have a slideshow graphical preview of each file – and it’s fast too.
There are also upgrades to iChat, Parental Controls, a more semantic approach to data detection with, you guessed it, Data Detector – and Boot Camp is here for Intel processor–based Macs to be able to run Vista at native speed. There are a host of other features I’ve picked up in my first day with Leopard, such as Front Row for viewing ALL digital content from music, to video etc. But you can only take in so many features in one go.
From a more technical perspective, it’s interesting to see that Leopard extends the 64-bit capabilities of Mac OS X to allow applications to address vast amounts of memory - up to four billion times the memory of 32-bit applications. Leopard also makes it easy for developers to take advantage of 64-bit technology in Mac OS X by providing a full set of 64-bit development tools as a part of Xcode, as well as highly optimised arithmetic and vector processing libraries.
Enough already, time to get back to playing with the new backgrounds feature in Photo Booth. So it is worth the effort to upgrade? Hell yes. Is it a better experience all round? You can’t argue that it’s not. Is Apple pushing out too many versions of its OS one after another? Maybe, but it seems to a smoother transition curve than another well know OS vendor one could mention right?
Friday 2 November 2007, 9:42 AM
Happy birthday (dear) Vista
Those among us who harbour an obsession for dates and calendars may have noticed that we are fast approaching the first anniversary of the release of Windows Vista and we’re not out of the woods yet when it comes to application compatibility. Many argue that the product is not quite the revolution that the world’s largest software company originally envisioned. So why is that? Could it be that the sheer weight of testing overhead is too great for many companies to consider implementing it on an enterprise level?
I met up with a company called Camwood this week. These guys specialise in software that automates app testing for large scale Vista deployment. Now then, automated testing may not be a major issue for companies running 100 or so core applications, but for a larger global enterprises running perhaps thousands of applications, manual testing prior to an OS migration could soak up as many as three weeks per application to install, identify and rectify the problem. With automated testing, the same procedure could be carried out in 10 to 15 minutes.
The company is also working on technology to enable companies to migrate applications to Microsoft’s SoftGrid virtualisation technology under Vista prior to deployment.
Their approach is quite interesting. Microsoft itself offers Vista testing tools, but – as far as I can see - these are focused on collecting operational data from agents deployed throughout a production environment, which can be a very time consuming approach. Camwood’s solution targets the application installation media, processing these source files without the need to install the application. Using heuristic algorithms, the appTitude product actually looks at the MSI (if available) and the application files it contains to detect problems. It then provides a graphical summary of which applications will run without problems under Vista and highlights those that need attention. A detailed report then provides the technical information necessary to rectify problems.
According to COO Mike Welling, more companies are now realising the move to Microsoft Vista is inevitable and are looking for ways to mitigate risk and minimise business disruption. “We are embarking on an education process. Many organisations are already realising that wide-scale manual testing prior to Vista deployment is unrealistic and therefore end up testing core applications and leaving many applications untested. Many IT departments are simply unaware that this kind of deep level automated testing is available,” he said.
Welling also told me that many of the large systems integrators and IT consultancies could use this type of technology to reduce the time and cost associated with Vista deployment. Many have acknowledged how useful the technology could be, but seem reluctant to deploy.
So, what did I learn? Well, application compatibility is a complex area technically. OK, no surprise there. There’s clearly a lot of underestimation and misunderstanding in this area. There is a certain amount of testing to be done in any Windows migration project and the earlier that planning comes in, the more successful the migration will be. Is that stating the obvious? Perhaps not if you consider it within the greater context of this blog.
STOP PRESS: just as I post this I noticed that Reuters is running an interview with Kevin Johnson, president of Microsoft's platform and services group on this very subject. You can read it here:
http://www.reuters.com/article/asiaTechnology/idUSIndia-30262720071031
Wednesday 31 October 2007, 11:56 AM
The role of SCM for RIAs
I’ve blogged a good deal recently on Rich Internet Applications (RIAs) but mainly concentrated on the runtime and application structure sides of the equation. So let’s be fully rounded and look at how RIAs are changing the rules for Software Configuration Management (SCM) systems. Originally, SCM systems evolved to deal purely with text-based source code written by developers while other digital assets (e.g. graphics and document data) were managed by separate Digital Asset Management solutions.
In recent years, the more agile SCM systems have been used to manage all data in one central repository. However, because developers write source code, technical writers write documents… and so on, it is not always the case that all data is actually kept together.
For an angle on this topic, I spoke to Perforce Software’s European director of operations Dave Robertson. “RIAs blur the definition of what it means to write source code. With RIAs, developers will now be creating code using tools that produce ‘code’ in a wide range of binary formats, Some believe RIAs are destined to be the dominant application development form. So, companies looking to RIAs will need to have an SCM that can cope with them.”
The problem, according to Perforce, is that currently, most SCM systems struggle to support binary files. They often have no native understanding of binary formats and will treat them as impenetrable objects that cannot be searched. They also don’t scale well, frequently copying entire files when branches happen. Such SCM systems do not give developers the information they need to quickly solve development problems such as fixing bugs or adding new features.
The answer, arguably, is to build a system with repository design that enables binary files to be stored and branched without using unnecessary disk space or compromising on performance. You also need to think about the kind of visual tools that let developers find information contained in the binary files quickly so that (with some user customisation) it is possible to search within these files for text strings. The future of SCM systems looking to support RIA development will rely on the storage, search and retrieval of ‘source’ of any kind.

