Archive for the ‘Front end development’ Category

WYSIWYG is dead go with the flow

October 12, 2009

Since the birth of window based user interface (MAC, Microsoft Windows) application designers have adopted the What You See Is What You Get approach to creating User Interfaces. Visual Basic was one of the early tools to provide a canvas onto which a screen can be drawn by simple drag and drop of screen elements on top of the canvas. “Property” sheets allowed these controls to be specialised/designed further for example change font, size, captions etc. This paradigm of development has since stuck with us, and this post questions whether this is right and whether this is the future?

Most corporates have started to standardise front end screens to be developed in browser technology for the right reasons such as; cross platform, ease of distribution, zero install. As expected tools vendors have provided good support for browser application development. However does the WYSIWYG paradigm apply? Should you still create browser screens in the same way as desktop applications?

Browser applications typically use a “flow layout” whereby the screen layout changes according to the size of the browser window. This is very useful because users could have different screen sizes, or browser settings (e.g. lots of toolbars) or even be viewing the application on a mobile device. Using a flow layout means that screen layout will change according to the users browser window size, thereby automatically handling each of the differences above.

Using this approach however means that creating a screen using a drag and drop approach onto a canvas does not necessarily give you a view of the final screen layout, hence you have to question whether now WYSIWYG is the right development paradigm for browser applications.

Another issue is that different browsers sometimes interpret the browser differently, causing screens to appear in differently across different browsers.

There is also the issue that “look and feel” is actually separated from the screen code into a style sheet, and a screen may be presented using different syle sheets, Hence displaying a form could be drastically different depending on the stylesheet used ( some great examples of this can be seen at http://www.csszengarden.com/ ).

With the above in mind is it time for a new approach? Perhaps using a more “real time design” approach. With such a tool, users would create screens and then run them to see how they would be rendered in different browsers, devices and screen sizes. With the proliferation of devices a multi-channel approach is becoming core to many organisations, and in such a world screen sizes will vary greatly, a new approach is required for creating screens because now the paradigm has changed to What You See Is What You Might And Most Probably Wont Get.


Digg!

Project failures can be good news

October 5, 2009

When it comes to software development, the latest research from the Standish Group presents very little in the way of good news. Failures are up and projects are considered less successful.

Just 32% of all projects deliver on time and on budget, with required features and functions (see further reading, below). Standish estimates that 44% of software projects are late, and over budget, and another 24% fail and are cancelled prior to completion, or delivered and never used.

The figures do not make impressive reading for IT executives, especially at a time when the business is putting pressure on the technology department to deliver more with less.

One thing is for certain; the current economic climate definitely does not help. Standish suggests the recession has helped push IT project failure rates higher and estimates that as much as 20 to 25% of failures during the last two years could have been caused by the economy forcing project cancellations (see further reading).

The upside is that IT departments are being persuaded, or even forced, to re-evaluate technology initiatives. Projects that might previously have stumbled towards completion are being canned as a result of the recession.

Good IT can help users work more effectively and efficiently, saving the business time and money. Bad technology is a money pit and too many IT executives end up pouring good money after bad, attempting to fix projects that do not provide a usable interface.

But it doesn’t have to be like this. While new economic realities help executives cull costly IT projects, remaining projects will still regularly fail to meet user expectations, as the Standish report confirms.

For your remaining projects, look for specialist approaches and tools that can help ensure your projects run in-line with user demands. An agile development approach will help you to make such tests on an iterative basis.

edge IPK offers such a strategy, its Early Visualisation Approach (EVA) provides an agile development lifecycle that allows business analysts to focus on online and offline front end applications.

Supported by the edgeConnect platform, which enables much faster entry points to development than traditional tools, analysts estimate EVA can reduce development cycles by as much as 85%.

With project failure rates rising and IT executives struggling to justify the cost of technology initiatives, investing in an iterative development approach could be your must successful decision of the year.

Further reading

http://www.cbronline.com/news/software_project_failures_hit_5_year_high_220609

http://www.cio.com/article/495306/Recession_Causes_Rising_IT_Project_Failure_Rates_?page=2


Digg!

Arise, Sir Presentation Architect!

September 28, 2009

Someone, somewhere is always willing to step into the limelight. In an age of celebrity culture, where self-promotion almost seems like the key to success, the real stars can sometimes get hidden beneath the hype.

The same is true in the world of IT. The input of real experts is sometimes drowned by the deafening noise emanating from a combination of technologists pushing their latest concepts and executives that are concerned about business alignment.

Now is the time for the real experts to stick their heads above the parapet. In an age of on-demand computing and web-based interaction, the architects that develop your interfaces have never been more crucial.

For a start, our interface for interacting with computers is changing. Where once applications sat on our desktop, more and more users are interacting with applications through the browser. The broad range of next generation browsers – such as Google’s Chrome and Mozilla’s Firefox – show how the web can be a platform for business computing, not just searching and browsing.

Ajax and Flash have given developers the opportunity to develop cool web-based applications, many of which work more smoothly than their desktop-based cousins. Those developments are only likely to get more impressive, with platforms like Adobe AIR and Mozilla Prism allowing users to connect to their web applications through the desktop.

Underlying such developments is the progression of broadband and wireless networking. Long gone is the time when domestic internet users had to rely on dial-up access and painfully slow web browsing. The average UK broadband download speed is now above 4.3Mbps (see further reading) and the government continues to work on its plan for a highspeed broadband network, with a universal 2Mbps broadband link “virtually everywhere” by 2012.

Such developments mean more and more of your customers will be online. And in an age of constrained financial returns, your customer has just become even more important. Clients will quickly change supplier if they believe they can get a better deal or a better experience somewhere else. Strong customer advocates are likely to be your quickest way to retained clients.

So, ensure your front-end – your window on your business and its services – is usable and reliable. This means presentation architects must be close to the business. The user interface – or presentation layer – is the face of the business and the significance of individuals in such architecture positions is unlikely to diminish.

In fact, the importance of presentation architects is only likely to increase as more internal and external users rely on usable web-based interfaces to communicate with the business.

Want to get ahead? Then look after your presentation architect

Further reading

http://www.ispreview.co.uk/story/2009/07/06/top-10-uk-broadband-isps-by-speed-june-2009-league-table.html

http://www.computing.co.uk/computing/news/2245052/brown-lays-plan-digital-britain


Digg!

Time for a virtual reality check

March 31, 2009

Regular readers will know my passion for end-user development (EUD), a means for giving more power to the business to create useful applications.

Line-of-business employees now have the knowledge and tools to produce their own useful applications. And while EUD might have seemed a ‘nice to have’ several months ago, it has quickly moved to a ‘business must have’.

A heady mix of limited cash, increased consumerisation of IT and fast-changing business priorities mean the trend is catching on. But despite the benefits of EUD, there is one potential downside – applications designed by end users might not work across multiple environments.

A tool that works fine on an individual’s desktop might not install successfully across the corporate network. And if an application is to help boost business efficiency, it will have to work for many users in many different circumstances.

But do not be too concerned by the potential downside, because a good EUD tool will overcome such concerns. One possible route to success is model driven architecture (MDA), a software design approach for the development of software systems.

MDA is a platform-independent model that allows end-users to separate design and architecture issues. The result should be de-coupling and the easy transference of applications across multiple environments.

Despite the promise of MDA, some concerns remain – notably that the approach relies on incomplete technical standards and that its forward-looking method is too realistic for many real-world situations.

For EUD to become de facto, technology and business teams need to know the resources to help develop applications are easily are at-hand. And virtualisation provides another method for EUD, a cost effective solution that allows your IT team and your end users to run and test multiple applications.

Virtualisation allows IT managers to partition existing resources to run multiple versions of an operating system. The approach could be your best friend during testing times.

If you’re thinking of moving to EUD, don’t be put off by the thought of needing more resources. New applications might suggest the need for new hosting environments and large scale testing programmes. But such fears are misplaced.

Rather than having to retrofit applications, IT leaders can use the easily deployed resources of virtualisation to run a potential solution across multiple end-user desktop environments.

Companies continue to look to virtualisation, despite wider cost constraints – analyst Gartner says spending will increase by 43% this year, from $US1.9bn in 2008 to $US2.7bn.

Most of you will have already seen some of the benefits of virtualisation at an infrastructure level. Now it’s time to start thinking about how the approach can be used to create useful applications in challenging times.

Why do IT managers outsource all development to the same geography?

March 9, 2009

Remember when all programming work was completed in-house? After all, it wasn’t so long ago – just a decade, perhaps – that outsourcing was seen as the refuge of the desperate IT manager.

Nowadays, outsourcing is a standard business practice. Moreover, many experts believe it would be anathema to not call upon a multisourced approach that uses best of breed IT and services from a range of different providers.

What does the multisourced approach mean for technology development and are companies making the most of their outsourcing arrangements?

Outsourcing has traditionally been perceived as a cost-cutting strategy, but the broad range of companies selecting to externalise crucial areas of IT provision means outsourcing has moved from the margins to the mainstream.

Diversity has increased and advisory firm TPI reports that 13 vendors won contracts valued at more than £15.7m in 2007, compared with just 99 in 2003.

Many IT managers, therefore, are waking up to the benefits of a multisourced strategy. However, fewer have been smart enough to wake up to the issues of geography.

While technology leaders are keen to avoid sending provision to a single firm, many businesses still outsource activity to a single country, such as India or China.

Picking a single location should make localisation easier, allowing the IT leader to bend multiple firms in one country to a broader business model, rather than a series of firms in many countries.

But taking such a selective approach is a bit like old school outsourcing – you only get the benefits of working in one country, rather than many nations.

More than just allowing your company to draw upon skilled-up IT expertise from across the globe, a multi-geographical outsourcing strategy will allow you to make the most of time differences.

So, early morning you set up the strategy in the UK, ping development objectives to your Russian developers at mid-day Moscow-time. The finished code can then be tested in Sao Paolo, ready for your arrival at work the next day.

Simple and effective; a clever multisourcer will also be multi-locational.


Digg!

Only a light touch will make the most of service orientation

January 26, 2009

The propaganda seems to suggest that service-oriented architecture (SOA) is a way of integrating all processes and solving all business problems.

 

Such thinking is not only unrealistic, it’s dangerous: IT managers must stop thinking of SOA as a golden bullet.

 

SOA can have a tremendous impact on business technology, but only if service-orientation is approached with a lighter touch that puts end-user priorities at the heart of IT decision-making.

 

Don’t think you can walk in to the finance director’s (FD) office and demand money for an SOA project. First, economic uncertainty equals constrained IT budgets.

 

Second, your FD is a businessman, not a technologist. The last think he or she wants to be confronted with is yet another series of TLAs (that’s ‘three letter acronyms’, for those not initiated with the art of techno-babble).

 

Return on investment has never been more important. So, find some facts and figures that prove SOA is not only worth the money, but that it will actually help your company make better use of existing assets.

 

It shouldn’t be too difficult. While SOA has traditionally been seen as innovative and leading edge, more and more firms across all sectors are beginning to look to the value created by service orientation.

 

Gartner recently found that 53 per cent of IT leaders are already using SOA in some part of their organisation. Another 25 per cent plan to invest in service orientation during the next 12 months

 

Previously slow-to-catch-on sectors, such as insurance, are now looking long and hard at SOA. But some industries – notably manufacturing, agriculture and mining – are still dawdling.

 

Gartner suggests the two major reasons for not pursuing SOA are a lack of skills and no viable business case. But a lighter touch that concentrates on key processes – notably shared services and governance processes – should help you develop an ROI and help you develop necessary in-house expertise.

 

Being careful isn’t necessarily wrong. In fact, it’s probably right – and watching how other firms have developed SOA will help you create a successful business case.

 

But as you move into SOA through 2009, make sure you investigate how your carefully layered service-oriented projects will actually solve specific business problems. Avoid the big bang approach and you’re sure to find success.

 

Digg!

What is web-oriented architecture?

November 12, 2008

You’ve finally got your head around service-oriented architecture (SOA) – but now a new acronym threatens to create panic amongst the IT organisation: web-oriented architecture (WOA).

WOA encompasses some big aims and hopes to spread the good work of service-orientation to web-based applications. Are the aims realistic, or are we really looking at the next piece of vendor spin?

Well, the good news is the term emerged from outside the supplier community. Gartner vice president Nick Gall lays claim to first using the term in 2005, suggesting WOA describes a web-centric method for undertaking web services.

The method normally adheres to the principles of representational state transfer (REST), a collection of network architecture constraints that outline how resources are defined and addressed.

More broadly, WOA is about taking an external view to service-orientation and applying the principles of internal SOA to contacts and resources beyond the firewall.

WOA uses REST as its building block, allowing developers to rapidly add application programming interfaces (APIs), mash-ups and other web-based software.

So where as SOA provides a means for linking and re-using components, WOA becomes apparent at the user interface and focuses on the ways services are delivered to consumers.

So much for definitions and methodologies, is WOA actually being used as a strategy? The bad news is that the picture is confused.

Google ‘web-oriented architecture’ and you can see that plenty of people are talking about the method. However, evidence of deployments remains limited.

Information Week recently reported that Amazon is a keen promoter of REST and WOA, using a strategy that gives internal and external developers access to its product database. The result is increased levels of innovation.

The magazine also reports that big providers are showing increased interest in web-orientation, with IBM’s WOA-based framework Project Zero due to be released later this year.

All the progress sounds interesting. But beyond issues of semantics, is there any real difference between SOA and WOA? Isn’t web-orientation just another flavour of SOA?

I guess the real answer will come as more web-based deployments become apparent. Then we’ll able to know whether WOA is significant, rather than tasting like a familiar piece of vendor spin.

Information Week article on WOA:
http://www.informationweek.com/news/software/soa/showArticle.jhtml?articleID=209904293

 


Digg!

Client Side Session Management (part 2)- Sharing is good

July 31, 2008

In my first article we covered the issues of server side session management and the benefits from a server perspective of session data being managed client side within a browser. These benefits are mainly technology related, but what about the user benefits? Yes faster more responsive applications can be achieved with client side session management, but from a user perspective the ability to share data across applications would be very powerful indeed.

The concept of being able to share data across disparate applications is not new, indeed as a windows programmer I’ve gone through the journey of DDE (dynamic data exchange), OLE (Object Linking Embedding), COM etc… However windows also had other mechanisms such as Global Atoms (anyone remember those ?) as well as traditional approaches like local databases or files.

However a browser based model is more difficult because of the sandbox security model. A server based solution does exist in the Java world this is the area of WSRP and Portlets. WSRP allows portlets to publish data to other portlets using standard interfaces. So if you had a window with a directory of your contacts listed, you might click on a name and your other windows (portlets) would respond by bringin back data about the person you clicked on.

Again however, if only browser developers would open their eye’s to client side session management, we could have very dynamic applications WITHOUT portlets and the server side overheads associated with portlets. (Remember a portal view of 5 portlets, means 5 times the number of sessions being managed by the server – hmmm you thought you had redundancy and performance licked until you deployed portlets ;o)

So how could this be done? I’m sure there are a number of ways, but if it’s been done before and worked well then I’m all for plagarising. Global Atoms ;o) Basically you should be able to define a global variable and provide a publish/subscribe model for that data item. This then would allow you to share data across browser applicatons (a bit like Google auto fill, but with application definable fields).

 The consequence? We reduce carbon footprints whilst creating more dynamic applications.


Digg!

Client Side Session Management…

July 18, 2008

Ok this is an old hobby horse I’ve reeled out many times, and now that I’ve got round to starting a blog what better place to find a permanent home for this old equidae.

The traditional way of managing sessions is on the server with the application container managing session keys/data. As a front end developer your job is simply to populate the session data as it is capatured on screen, the application container does the rest for you. The application container should offer different mechanisms for replicating session data across servers, thus providing session failover. It should also optimise the storage of the data itself, and manage the session keys with it’s own policies for clearing out dead sessions.

The problem with this model is that it is simply not that easy. Some of the issues that need further consideration are: Memory optimisation, Long vs Short Running sessions, Server Redundancy:

When storing data in sessions, the data element is normally given a name, generally this is something meaningful that a developer can use to make code more readable. However these name themselve take up memory. Whilst this may not seem a huge issue with the amount of memory in servers these days, we’ll see later in the post why optimising memory for sessions is necessary. So one improvment you can make is to implement hashing to reduce lengths of names used in code. Another technique would be to use compression for the actual session data especially for large free text fields.

Generally there are two types of sessions long running or short sessions. Typically internal applications such as call centres will have users that log-in in the morning use an application all day, and log-off at the end of the day. Such applications if not designed efficiently often do not release session data during the session, this can have the issue of builiding up huge memory requirements per user of the application. Prior to memory depletion, performance degradation will be the first issue as memory is swapped in/out of disk, followed by out of memory server crashes. Hence developers need to consider what memory should be held and when to release this memory. Short running sessions with mass users e.g. shopping sites, tend to have less per user storage requirements but many more users, creating a large memory requirement overall. In this scenario identifying dead sessions is paramount to reduce memory redundancy. Other optimisations include identifying session data that is used not per user but globally across all sessions, and caching one instance of that data rather than load it per user.

So it is for reasons like the above why client side session handling make so much sense, if only it was supported as standard by the browser rather than having to use hidden fields. Quite simply client side session management is a means of keeping data in the browser rather than on the server, therefore reducing the memory requirements and extra processing that an application container has. It would not only reduce the cost of the server you’d need it would also improve performance of the client application also, more so than the use of Ajax.

I can’t think of any downsides to this approach whilst the upsides are huge. What do you think?


Digg!