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.
Thursday 30 April 2009, 12:00 PM
Web 2.0 gurus don’t practice what they preach
Thanks to an ‘on-the-ground’ poll I was sent (shouldn’t that have been an ‘in-the-cloud’ poll? sorry!) by online scheduling tool firm Doodle it appears that the Internet-adoring execs in attendance didn’t quite practice what they were preaching.
Doodle found that almost three quarters (73 per cent) of execs surveyed at the show said their corporate culture dictated that they use traditional calendar systems, such as Microsoft Outlook, for scheduling all of their meetings and dealing with email despite this process taking as much as two to four hours of their working week.
Most relatively web 2.0 savvy execs are still apparently too busy to discover new web 2.0 methods of working. In the survey of web execs, the majority (59 per cent) said they stick with email, a fifth (20 per cent) said they use phone calls to schedule meetings and many cited other tools such as LotusNotes, Salesforce.com, iPhone, and Cappture, Facebook and Meetup. Doodle also points to its larger study of 2,500 professionals in generic industries taken across five countries.
Now don’t get me wrong; surveys like this may not be worth more than a cursory glance and, hey guess what – it was carried out by an online scheduling tool firm with appropriately loaded questions. But an interesting point for developers of virtual desktop apps must be thrown up here surely?
As these “platforms” are being rolled out in various new guises every week now, are we too focused on the delivery mechanism and not focused enough on the applications themselves? Perhaps it’s the other way around though, perhaps the apps are just easy “me too” iterations of established tools like Word and Outlook that we are all familiar with and the platform deliver mechanisms aren’t working well enough yet for us to embrace these systems.
Maybe it’s a combination of the two even?
Either way, the penny is yet to drop right? If you’re interested in this sector of the application development zone, what will be the deciding factor for you? I personally think we have some security hurdles to overcome and then there’s the question of a complete shift in mindset in terms of our usage patterns.
It’s not going to happen overnight is it?
Tuesday 28 April 2009, 8:24 AM
Seven Steps to Heaven & Five to the Cloud
My raison d’être for this story is that with the Infosecurity Europe exhibition now upon us, I was bouncing around the exhibitor listings trying to formulate an action plan for attendance. That is, if I can shrug off my swine flu fears enough to attend and shake a few (hopefully very clean) hands. From these lists I found a quite pleasantly digestible piece of content from Lori MacVittie at Application Delivery Networking (ADN) company F5 Networks entitled ‘5 Steps to Building a Cloud Computing Infrastructure’.
I’m personally involved in a project to analyse the potential for virtual desktop applications delivered in a unique (it might be – I’m not sure yet) kind of a way, so I have been very keen to follow both the front end and the back end of this technology. While corporate uptake of cloud driven apps is still relatively sluggish, MacVittie rightly points out that the concerns over security, privacy, reliability, visibility and portability all stand out as sticking points.
There may be a deeper reason for the sluggishness seen in the cloud computing market i.e. that essentially, like SOA, cloud computing is not a product. It is more commonly descried as a ‘framework’ or an ‘infrastructure’ in its own right and this makes it tough to implement as it doesn’t come off the shelf in a nice shiny box.
MacVittie says that it, “Necessarily requires coordination not just across a variety of data centre infrastructure but disparate teams, as well. It is not just an exercise in implementing an architectural model. It requires coordination and collaboration between people.”
Summarising F5’s five steps to heavenly cloud computing as follows:
1. Decide which technology will be the basis for your on-demand application infrastructure.
2. Determine what delivery infrastructure will be used to abstract the application infrastructure.
3. Prepare the network infrastructure
4. Provide visibility and automation of management tasks.
5. Integrate all the moving parts, such that the infrastructure actually becomes on-demand and realises the benefits of abstraction, automation, and resource sharing.
You can read this content in full here if you wish. But don’t take it as gospel; this will not be the first (and surely not the last either) list you read that will offer cloud computing offering advice. It is however short, punchy and quite relevant.
If companies looking to dip their toes into the cloud market think about it from the right perspective, then they’ll most likely run tests on lightweight applications that are non-critical to the business first. They’ll also approach the cloud with the right strategic ideals in mind i.e. they will should be looking to reclaim unused computing resources while saving money, while all the time managing performance across a new virtualised infrastructure.
Friday 24 April 2009, 8:36 AM
Is the sun still shining at Sun?
The company is pushing ahead with JavaOne, which will no doubt please Java engineers far and wide and just a few Duke fans too no doubt. Equally, Sun appears to be taking a ‘hey we’re still here and it’s all normal’ approach to its MySQL-based web services plans under what the company labels its Open Network Systems approach to Internet infrastructures.
Right now, we’re being showered with a variety of options for virtual desktop infrastructures with full (or at least rapidly developing) sets of online applications. Ah and they’re all so different aren’t they? One has great storage, one has great apps, one has great backing by third party developer communities, one is aligned for mobile and another has superior automation for billing and service packaging. In a word, web app delivery is hotter than ever right?
Last JavaOne we heard plenty about Sun’s open source application server GlassFish, which has now been available in version 2.1 since January of this year. The company’s strategy is to promote the creation of web apps using a combination of its GlassFish portfolio and MySQL Enterprise Server. This it says is a route to a faster data-warehousing platform with, “Up to three times more density for storing rich media than the competition at 70% off the cost.”
Oh really you say. Big claims indeed and with the backing of its new parent (can I call Oracle that?) one can only imagine these claims will get bigger. Perhaps Sun will know become known for ‘bigger’ statements in general.
Sun’s Systems Group spokesperson Lisa Sieker provides us with this statement, “Our Open Network Systems strategy solves two of the biggest problems facing customers today – improving efficiency and scaling to meet rapidly changing Internet infrastructures to deploy new web services. Our systems design integrates Sun Open Storage with networking and open source software to help increase application performance and achieve cost and energy savings. Add MySQL to that combination and you've got a scalable platform to accommodate millions of users.”
For my part and for what it’s worth, I have always found Sun to be a very focused company that usually panders to the real needs of developers. If their top brass could just stop saying “Hey! Java is everywhere!” and smiling so much that would be nice, but let’s not be too harsh.
Oracle on the other hand have never once (in my decade or so as a journalist) picked up the phone and called me to talk about developer issues. I once got invited to the UK Oracle User Group conference in Birmingham (which I covered), but that’s about it.
I am hoping that the Sun still shines.
Tuesday 21 April 2009, 11:15 AM
Intel outlines developer toolkit strategies for parallelism
Intel says its existing tools are focused on maximising parallel performance for C++ Fortran on Windows, Linux and Mac OS X – and the new product will be aligned to C++ using Visual Studio on Windows.
The company’s chief software evangelist James Reinders presented this morning underlining the fact that almost every processor shipped by Intel today is actually multicore. Positioning the Parallels Studio toolkit in line with its HPC (high performance computing) tools, Reinders tried to provide some tangible feel for the latest products by saying, “I’ll promise you that in ten or twenty years we’ll look back and see that what we have developed here isn’t quite perfect, even though I love the product as it stands today. These tools are incredibly powerful but they are not magic, they will not solve all developers’ problems as they move towards parallelism.”
So how do developers add parallelism to their code? Intel’s approach is to take the following structure Design -> Code & Debug ->Verify -> Tune. Logically then, the company has tools that are designed to support each of these processes.
Several references are being made this week to try and refute the anti-threading arguments expounded by Edward A. Lee in his paper “The Problem with Threads” which he composed at the University of California, Berkeley, in 2006. Lee said that, Although threads seem to be a small step from sequential computation, in fact, they represent a huge step. They discard the most essential and appealing properties of sequential computation: understandability, predictability and determinism. Threads, as a model of computation, are wildly nondeterministic and the job of the programmer becomes one of pruning that nondeterminism.” You can read the whole paper here if you wish.
Reinders smiles knowingly every time this paper is mentioned as if it has become his nemesis in the three years since its emergence. Defending his stance and his company’s strategic alignment towards threading and the use of the multicore chips that Intel’s FABs pump out, he cites a plethora of real world application examples that employ parallelism.
According to Intel, parallelism has been popular with many multimedia apps such as AutoDesk Maya and Adobe Photoshop and Apple has used it extensively in its DVD focused applications even when as few as two cores are involved – and there are many more examples in HPC and supercomputing.
Reinder’s also noted that, “Internet Explorer and Outlook also use parallelism to a degree so that they are in fact threaded applications. Although I think Firefox implemented TABS with parallelism much better than IE has done and I think Microsoft knows that, so they are making efforts to catch up.”
There’s a challenge for all the speakers here to make additional layers of complexity digestible for an audience that is (due to its heavy channel presence) mostly interested in how they can describe what the products too so that they can sell more.
There are resources for everyone to read here – and Intel is more than just a little bullish about its position in the market. In fairness to Intel, I speak to a lot of software companies about the escalating needs of the software development marketplace and not many other vendors bother to concentrate on this reality (if I can call it that – and I think I can) in modern development shops. Let’s go forth and multiply then.
Monday 20 April 2009, 6:06 AM
What to expect from Intel’s ‘Parallel Universe’ Software Conference 2009
'A view of the old town in Salzburg – blogger’s own image.
I came in a day early on an Easyjet 7am special with only 27 others to get a day to wander around the city and drink in (literally, of course) its atmosphere. It seems like a quiet and relatively conservative kind of a place (most of it is shut on a Sunday), but then maybe that’ll allow me to concentrate on the business in hand. That is to say; parallelism, multicore compute structures, concurrency and the resultant developer challenges that these new paradigms throw up.
I missed last year’s event, but attended the 2007 conference when Intel’s chief software evangelist James Reinders took time out with the audience to explain the nuances associated with threading and some of the more basic principles of multicore. Dr Dobbs Journal’s ‘celebrated’ editor was also there to give the same parallelism speech I saw him give at three other events later that year themed around Second Life and why the Linden Labs team need such a vast server farm driven by, guess what, multicore technology.
I imagine that that this year the discussion will have moved to a more practical level. Reinders’ keynote speech suggests that it will as it is entitled, “The Power of Multicore: Easing Parallelism for Mainstream.”
Indeed, ZDNet.co.uk itself is hosting a series of videos here to explain the intricacies of making parallelism work in your own development environment through the use of abstraction techniques, which provide an arguably less painful alternative to dealing with the with low-level details of parallel systems themselves.
I’m just waiting for someone to take me aside this week (it’s just a two-day event actually) and tell me that parallelism is nothing new and that IBM has been using these techniques at the server level for decades. Should I say, “Why isn’t everybody doing it then?” If I do, I’ll bet you the answer will be that there is heaps of it going on and it works faster and better than ever before.
The problem I think will be for those developers who feel they would have to re-engineer such vast chunks of existing systems (that currently work ‘really’ quite well thank you), that the impetus to go through the parallel pain barrier will simply not exist or even start to develop.
The argument from Intel will be stated thusly, “Until recently, parallelism wasn’t essential for many applications; performance improvements came mostly through increasing clock rates and power consumption. Today dual-core and quad-core processors are the norm from the server to the desktop. This is a game changer for all applications. Now parallelism is on the minds of every software developer."
Is that true for you? It seems like a fairly solid argument to me, but I don’t think it has quite the ‘street level’ impact that Intel would like it to have. That’s not to say that it won’t have soon of course, perhaps we need to see more performance analysis data before we’re truly convinced? Microsoft, for their part, will also be here to encourage by detailing common parallel language extensions and libraries for expressing parallelism. Useful, it is argued, for developers who would like a standards-based approach for languages and libraries.
The hosts for this event will be hedging a bet on the Intel Parallel Studio toolset designed for Microsoft Visual Studio C/C++ developers. This has a Composer element designed to handle compile and debug tasks, an Inspector element for proactive memory and threading error checking and an Amplifier element to identify bottlenecks. You can read a CNET review of the product just here if you want to know more.
Given the theme I have taken with this blog. I will do my best to report from the sessions and will look at this one in particular. “Now there’s an Easier Way to Optimize Windows Apps for Multicore by Heinz Bast, Application Engineer, Software Development Products, Intel Corporation.”
Anyway, I’m keen to get on with the event now. So far I’ve seen plenty of tacky Mozart memorabilia (actually, I didn’t know he was dead) and lots of ‘Sound of Music’ tour specials offering me a “real Von Trapp experience”. The only technology I’ve managed to spy so far is shown below. So let’s fire up the PowerPoints and get stuck in.
'

