Posts Tagged ‘Collaborative Web Platforms’

A dirty IT architecture may not be such a bad thing

April 19, 2012

For some time both CTOs and architects have looked at enterprise architectures and sought to simplify their portfolio of applications. This simplification is driven by the needs to reduce the costs of multiple platforms driven largely through duplication.

Duplication often occurs because two areas of the business had very separate ‘business needs’ but both needs had been met by a ‘technical solution’, for example a business process management tool or some integration technology. Sometimes the duplication is a smaller element of the overall solution like a rules engine or user security solution.

Having been in that position it’s quite easy to look at an enterprise and say “we only need one BPM solution, one integration platform, one rules engine”. As most architects know though, these separations aren’t that easy to make, because even some of these have overlaps. For example, you will find rules in integration technology as well as business process management and content management (and probably many other places too). The notion of users, roles and permissions is often required in multiple locations also.

Getting into the detail of simplification, it’s not always possible to eradicate duplication altogether, and quite often it won’t make financial sense to build a solution from a ‘toolbox’ of components.

Often the risk of having to build a business solution from ground up, even with using these tools, is too great and the business prefer to de-risk implementation with a packaged implementation. This packaged solution in itself may have a number of these components, but the advantage is they are pre-integrated to provide the business with what they need.

For some components duplication may be okay, if a federated approach can be taken. For example, in the case of user management it is possible to have multiple user management solutions, that are then federated so a ‘single view of users’ can be achieved. Similar approaches can be achieved for document management, but in the case of process management I believe this has been far less successful.

Another issue often faced in simplification is that the tools often have a particular strength and therefore weaknesses in other areas of their solution. For example, Sharepoint is great on site management and content management, but poorer on creating enterprise applications. Hence a decision has to be made as to whether the tool’s weaknesses are enough of an issue to necessitate buying an alternative, or whether workarounds can be used to complement the tool.

The technical task of simplification is not a simple problem in itself. From bitter experience, this decision is more often than not made on technology and for the greater good of the enterprise, but more often on who owns the budget for the project.

Is the dream of re-use outdated?

April 12, 2012

Since the early days of programming developers have chased the dream of creating code that can be used by other developers so that valuable time can be saved by not re-inventing the wheel. Over time, there have been many methods of re-use devised, and design patterns to drive re-use.

Meanwhile the business users are demanding more applications and are expecting them delivered faster, creating pressure for IT departments. Sometimes this pressure is counter-productive, because it means that there is no time to build re-usability into applications, and the time saved is just added on to future projects.

Could we use the pressure to take a different approach? One that focuses on productivity and time to market, rather than design and flexibility as typically sought by IT?

I’m going to draw an analogy with a conversation I had with an old relative that had a paraffin heater. This relative had the heater for many years, and is still using it today because it works. When I questioned the cost of paraffin over the buying an energy efficient electric heater which was cheaper to run, the response was this one works and it’s not broken yet, why replace it? Now for most appliances we are in a world that means we don’t fix things, we replace them.

This gave me the idea, which I’m sure is not new, of disposable applications. Shouldn’t some applications just be developed quickly without designing for re-use, flexibility and maintainability? With this approach, the application would be developed with maximum speed to meet requirements rather than elegant design knowing that the application will be re-developed within a short time (2-3 years).

So can there be many applications that could be thrown away and re-developed from scratch? Well in today’s world of ‘layered’ applications it could be that only the front end screens need to be ‘disposable’, with business services and databases being designed for the long term, since after all there is less change in those areas generally.

Looking at many business to consumer sites certainly self-service applications and point of sales forms typically could be developed as disposable applications because generally the customer experience evolves and the business like to ‘refresh the shop front’ regularly.

My experience of the insurance world is that consumer applications typically get refreshed on average every 18-24 months, so if it takes you longer than 12 months to develop your solution it won’t be very long before you are re-building it.

When looking at the average lifetime of a mobile app, it is clear that end users see some software as disposable, using it a few times then either uninstalling or letting it gather dust in a dusty corner.

So there may be a place for disposable apps, and not everything has to be designed for re-use. This is more likely in the area of the user experience because they tend to evolve regularly. So is it time you revised your thinking on re-use?

HTML5 prepare for specification spaghetti?

April 14, 2011

For those that have been tracking HTML5 for a while I’m sure life is crystal clear, for those that have not well lets just say you may need some help navigating your way through over 900 pages of documentation which is duplicated by two separate standards organisation and further confused by media journalists and industry analysts.

First a quick step back into history: 1991 Tim Berners Lee publishes “HTML Tags” basically the first publication documenting HTML. However it was not until 1995 with the publication HTML 2.0 that a standard was born by a working group in the Internet Engineering Task Force (IETF). Fast forward again and W3C took over HTML in 1996 but it was not until 2000 HTML became an international standard (ISO/IEC 15445:2000). In 1999 the W3C issued HTML 4.01.

In 2004 a working group consisting of individuals Apple, Opera and Mozilla formed the Web Hypertext Application Technology Working Group (WHATWG) to look at the evolution of HTML. The WHATWG believed that much more evolution was required and their views were in contrast to what the W3C was doing with Xforms in 2003. The WHATWG set out on their own to define HTML’s destiny. However in 2006 the W3C took an interest in participating in their work and both groups have been working together since.

Simple right? So they are both working together on HTML5 specification and are going to publish a spec soon? The answer to this question is not so easy, so we have to break up the question.

Yes they are both working together. However the specification(s) being worked on by the WHATWG cover broader technical ground than the specification for HTML5 being proposed by the W3C (e.g. Canvas 2D, Microdata, Cross document messaging). In addition to this the HTML specification developed by the WHATWG is a subset of their “Web Application” specification which covers additional topics (e.g. WebWorkers, WebStorage, WebSockets…).

Essentially the W3C have divided out some of the work that the WHATWG are doing as separate specifications/standards. The good news is that we are told they are both working from the same source. The relationship of the various documents are neatly summarised in the FAQ’s of the WHATWG website (see link below).

All clear now? At the start of this article I alluded to other parties adding to the confusion, mainly the Press and Analysts. Some of this stems from the various sub specs created by the WHATWG and W3C, but also by the grouping of the evolution of other separate but related technologies like CSS and Javascript. In an attempt to help their clients clarify the situation technology analyst Gartner describes this superset of standards with the catch-all term “Modern Web Technologies”, however I am yet to find a single definition of all the standards their terminology encompasses.

As I sifted through sites and wiki’s everything was going so well until the W3C launched their HTML 5 logo programme saying that it was for : “general-purpose visual identity for a broad set of open web technologies, including HTML5,CSS, SVG, WOFF, and others”… doh ! Back to the drawing board then.

Oh well ignoring all that noise, there’s only the small matter of reading through over 900 pages of specification(s) .

http://www.w3.org/TR/2011/WD-html5-20110113/

http://www.whatwg.org/specs/web-apps/current-work/complete.html

http://en.wikipedia.org/wiki/HTML_5

http://wiki.whatwg.org/wiki/FAQ#What_are_the_various_versions_of_the_spec.3F

Does HTML5 means the end of Flash?

March 24, 2011

I am almost starting to feel sorry for Adobe Flash. First it was Steve Jobs, now everyone is starting to recognise the inherent limitations of the proprietary multimedia platform.

The Apple chief executive took a swipe at Flash earlier this year, suggesting the development tool is poorly designed, has security concerns and is ill equipped for the mobile age.

Action was tough, with Apple banning Flash from its iPhone in 2007 and its iPad in 2010. I wrote in November that the attractiveness of the platform would undoubtedly be affected by Apple’s decision (see further reading).

That would have been bad enough. But then it seemed everyone else turned up to give Flash a good kick in its multimedia platform. Such a backlash centred on the next-generation we framework HTML5.

Microsoft, a long-time defender of its own development framework Silverlight, has started to show open support for HTML5. Google has added HTML5 support for video playback and Facebook, with Facebook also going with the standard to provide video on Apple devices.

Such moves help illustrate how organisations are keen to break away from third party plug-ins. What once seemed normal, even convenient, now seems painful – users and suppliers want everything at once and they don’t want to rely on yet another multimedia platform.

It’s been a tough fall from grace for Flash. As well as the aforementioned ability to view movies, Flash also boasted a range of other snazzy and original features. Like video, Flash was able to support rich graphical applications and games. Once again, its originality has been trumped by HTML5.

Where Flash once offered a means to cross-browser reach, HTML5 provides a standards-based approach that is hooking in vendors and removing the necessity to rely on plug-ins.

HTML5’s additional ability to support the running of applications offline provides another significant benefit and a further break from a reliance on workarounds like Flash, Google Gears and Microsoft HTML Applications.

In short, HTML5 has the big backers and the big technology. It is a standards-based approach to web development that is paving the way for portability and accessibility, regardless of location, browser or device.

In comparison, Adobe Flash looks a bit old hat. No wonder Steve Jobs felt so frustrated. The only question is why, in the future, anyone would choose to go with Adobe Flash?

Jobs will not be alone in swerving away from Flash and towards HTML5. Get ready to switch lanes now.

Further reading:

http://www.businesscomputingworld.co.uk/apple-vs-adobe-round-two-could-herald-the-knockout-blow/

Does HTML5 mean the end of the road for Gears, HTA and Flash?

March 10, 2011

Web standard HTML5 contains loads of great features, from video playback to drag-and-drop. But the best bit, and currently one of the least talked about elements, might be the capability to run apps offline.

The normal web experience is hindered by connectivity. Users can typically access web apps while they have a connection to the internet. Once offline, individuals lose access to email, calendar or notes. There are, of course, workarounds. Google Gears, for example, allows users to navigate compatible sites offline and synchronise when back online.

Microsoft HTML Applications (HTA), meanwhile, is a Microsoft Windows formalisation that provides a web-like experience offline. And Adobe Flash can also be run offline, allowing users to run Flash-based content.

Such workarounds are OK but they are also a bit messy. People want the same experience online or offline; they want to get hold of – and manipulate content – regardless of location and they don’t want to be hindered by platform specific technologies or plug-ins.

HTML5 provides that standardisation. Its two–pronged approach re-connects the user through an SQL-based interface for storing data locally, and an offline cache that helps ensure apps are always available (see further reading, below).

With regards to availability, HTML5’s application cache mechanism provides the ability to have a fall back page for rendering pages when offline. It also provides a means to update cache dynamically. The key, here, is client-side management.

And without wanting to bang my own drum too loudly, it is a rhythm I have been hinting at for a long, long time. I blogged two years ago (see further reading) about client-side management as a method for keeping data in the browser, rather than the server, and as means to reducing memory and processing requirements.

“If only it was supported as standard by the browser rather than having to use hidden fields,” I concluded – and now that day is fast approaching. HTML5 creates a standards-based method for creating local apps that run offline.

As mentioned earlier, HTML5 also provides the ability to store data locally through a client-side SQL database. A series of apps could potentially work with this database, providing a new level of accessibility and integration.

The total approach represents a huge step forwards for web development. It also signals that the end is nigh for proprietary workarounds like Gears, HTA and Flash. HTML5 is the future and web developers simply must get with the program.

Further reading:

http://www.w3.org/TR/offline-webapps/

http://blogs.computerworlduk.com/facing-up-to-it/2008/07/client-side-session-management/index.htm

AppInventor to drop out of school

February 3, 2011

Something odd is happening. While children have never been more involved in computing, fewer and fewer young people are studying technology.

 Any parent of young children will be able to regale you with tales of their offspring multitasking with various devices and apps. The modern, younger generation has grown up only knowing a technology-enabled world and they are a product of that interaction.

 However, that high level of interactivity has not created a rise in interest in the academic side of IT. Just 4,065 students were awarded computing A-levels this year, compared with 4,710 this time last year – a drop of 13.7% (see further reading, below).

 The jury is out on what such developments mean for the UK: while companies continue to offshore certain technology tasks, a core of highly-skilled technicians must exist in the UK. So, how can we get kids interested in the behind-the-scenes coding that supports their multi-tasking lifestyle?

 One possibility comes in the form of Google’s App Inventor, a system that claims to enable non-coders to develop Android software. Instead of writing code, interested individuals visually design the way an app looks and use blocks to specify software behaviour.

 The plus point, at least as far as getting junior programmers on board, is that App Inventor is easy to use. Code is simply snapped together to allow basic events to take place.

 That, however, is also part of the problem. As developers become more adept, the limitations of snapping blocks together – in comparison to being able to write code – become exposed.

 As Darien Graham-Smith concluded in a recent review of App Inventor for PC Pro (see further reading: “Anyone with the programming nous to make full use of App Inventor’s abilities will surely prefer a language that doesn’t force you to pedantically assemble every function, procedure and event out of multicoloured blocks.”

 Google acknowledges App Inventors’ educational route, paying deference to MIT’s Scratch project. But while the system is driven by an educational perspective, it remains restricted by its approach. In fact, Graham-Smith believes App Inventor could actually drive people away from programming unless the Blocks Editor improves.

 The system is, in short, a nice attempt to get people interested in the finer elements of programming. But successful apps are inherently much more complex than pushing Lego together.

Further reading:

 http://www.computerweekly.com/Articles/2010/08/19/242454/A-level-results-mark-39worrying-trend39-for-IT.htm

 http://www.pcpro.co.uk/blogs/2010/09/07/googles-app-inventor/

 http://appinventor.googlelabs.com/about/

Birth of the User Experience Platform (UXP)

January 15, 2011

Regular readers will know I have an interest in the user experience. Actually, it’s more like a passion – so, what’s next for web and user interaction technologies?

 Gartner has answered that question in their recently released hype cycle paper on the next generation web (see further reading, below). The cycle itself raises some interesting issues and trends, not least the potential horror of ‘Web 3.0’ – which the analyst suggests could be an ambiguous and unhelpful term.

 In other areas, Gartner is able to be more precise. The analyst recognises that the web continues to evolve along multiple dimensions, such as social, mobile, programmable and real time. Such developments are taking place outside and within the business, causing growth on an unprecedented scale.

 Much work, however, still needs to be done. Too many workers at too many companies remain unaware of methodologies and processes that can be used to help improve the user experience.

 Understanding the user is everything. Giving users the platform that meets their needs – and inevitably the power to tweak that platform via end-user computing – will sort the web-enabled wheat from the business chaff.

 Once again, that is a trend recognised by Gartner. The analyst suggests that a series of trends, such as context-aware computing, the mobile web and the cloud, are of particular interest right now. However, it is their take on user experience platforms (UXP) that is most significant.

 Earlier in the year, I said I expected the pendulum to swing towards UXP in 2010 (see further reading). That foresight now looks spot on, with Gartner tagging the emerging concept of integrated technologies that help deliver user interaction in its hype cycle.

 The analyst suggests the UXP is developing as a critical platform, which represents the convergence of presentation layer technology. It suggests the UXP helps provide consistency and integration, helping users to have a similar experience across multiple platforms. A UXP, in short, provides significant efficiencies.

 Gartner suggests vendors have been slow to match demand and that the market will emerge through 2013. Some specialists, however, are ahead of the game – and the analyst’s hype cycle identifies edge IPK as a UXP vendor.

 Once again, it’s nice to be proven correct and even better that our good work is recognised. My advice is to take a look at the UXP now; it’s increasingly a business necessity and you will be way ahead of your competitors.

Further reading:

 http://www.gartner.com/DisplayDocument?id=1407814&ref=g_sitelink

 http://blogs.computerworlduk.com/facing-up-to-it/2010/04/user-experience-platforms-uxp/index.htm

The future is mass mobile and niche native apps

December 7, 2010

Design once and stop. That development strategy seems like a route to a software dead end, yet it is an approach that is representative of many apps created for mobile devices.

 Individuals and businesses are rushing to develop their specialist iPhone and Android apps, software that runs on one particular device and which fills a particular niche in the market. In the short-term, your development approach can afford to be based on point solutions.

 Such a development approach allows you to get used to the fast-developing market. For larger organisations, short-termism allows the IT team to dabble and create a marketing buzz. In many cases, the app is a means to show your company is cool, rather than a new and realistic revenue stream.

 In the long-term, that strategy will fail. Mobile devices will be the home of web- enabled work and play. Betting your strategy on one particular platform is not a realistic approach. After all, the market is fracturing across multiple smart phone operating systems, such as Apple, Research in Motion, Symbian and Windows.

 That fracturing cannot last. Native mobile apps constructed for a single platform might feel better and run faster. But to quote Google’s DeWitt Clinton (see further reading, below), such nativity is a bug and not a feature.

 Just as in the case of the desktop, developers have had to find ways to make their software run across multiple operating systems. And in the mobile era, you and your business will have to move towards an integrated point.

 Do you really want different sets of developers for each and every platform? Do not differentiate too much because at some point you are going to have to aim for convergence.

 Advancements in mobile web browsing continue to take place. Take jQuery Mobile, a recently announced web framework for smart phones that will provide a unified user interface system across all popular mobile device platforms.

 Further progress comes in the form of HTML5, which is currently under development as the next major revision of the hypertext markup language standard. The platform will promote deployment across multiple platforms and includes features that previously required third-party plug-ins, such as Flash.

 The result is that the dream of building once and deploying everywhere could soon become a reality. The future of development is the mobile web.

Further reading

 http://www.infoq.com/news/2010/08/future-native-apps


Digg!

Fat client / Rich client / Mobile client

October 8, 2010

It’s a given that you’d better get online if you want to reach out to your customers. With more and more people having mobile access to the internet, firms need software that can help clients to interact on the move.

Step forward web-based rich internet applications (RIAs), which are online tools that have many of the features of their desktop counterparts. The use of RIAs date back a decade but their use continues to evolve.

As analyst Gartner concludes in respect to enterprise-level adoption (see further reading, below), RIA platforms are still in a dynamic and early adopter phase of market evolution. What is certain is that the RIA market is highly competitive.

 As well as the most distinct and prominent flavours, Apple pushes the use of its own software. Such divisions are inherent to the RIA market and competition is now taking a specific route.

 Most RIAs are splitting into two distinct groups: client technology, where a specific app – such as Silverlight or Flex – is installed into the client; or the server-based and Ajax route, where users only need a browser and no other client requirements.

 The distinction between the two approaches is such that Gartner considers Ajax and client-based RIAs as similar but separate technologies. Many firms choose to opt for the client approach – but for me, going with the client approach seems like a backwards step. It like we’re re-inventing the battle between desktop and browser apps, only this time both options are in the browser.

 First, users normally need to install a specific framework that executes the RIA before an application can launch. In Java-based alternatives like Ajax, there is no installation requirement – built-in browser functionality means required components are kept server-side.

 Second, the line between the desktop and the browser is blurring (see further reading). The browser is increasingly seen as the operating system, with individuals able to securely access social networking, music streaming and enterprise applications via the browser.

 Take note, however, that going for development via the browser is not a standalone decision. Businesses must also consider mobile development – and must avoid relying on a specific toolset for mobile development.

 Get the decision wrong and you can find your business in a similar platform-specific cul-de-sac, this time on the mobile rather than the desktop. By going with a mix of HTML/Javascript and Ajax-server based technologies, your business can use the same developers on desktop and mobile environments.

 HTML/Javascript and server-based Ajax is the route that will allow you to reach out to an increasingly mobile and browser-based audience. And in the future, it’s a combination that will help your business cope with the increasing range of screen sizes.

 Open source development frameworks like Rhodes and PhoneGap allow skilled web specialists to write once and deploy anywhere, creating mobile apps that have access to local device functions like camera, contacts and GPS.

 If you want to give your software the greatest reach, make sure your web-based developments take a direction that allows you to serve your savvy customers.

Further reading

 http://www.gartner.com/DisplayDocument?doc_cd=164266

 http://www.computerworlduk.com/TOOLBOX/OPEN-SOURCE/blogs/index.cfm?entryid=2389&blogid=22&tsb=comment


Digg!

Some screens are better than others…

October 5, 2010

What’s your most important screen? Which device – regardless of application and information – is most important?

 Your business has probably spent years developing multi-channel strategies that allow customers to interact with your firm online, offline and by phone. But now, the level of online interaction is changing and organisations need to prepare multi-screen strategies.

 Microsoft has clearly been considering such strategies and started talking about a three-screen strategy towards the end of last year (see further reading, below).

 The company’s “three screens and a cloud” vision concentrates on how software experiences will be delivered through cloud-based services across PCs, phones and TVs.

 The software giant believes the approach will lead to a programming model that helps create a new generation of applications for businesses and consumers. That belief is spot on.

 Non-believers only have to think about how providers have worked to ensure the new generation of social apps – Facebook, LinkedIn, Spotify – are accessible online through various platforms with different screens.

 As I have mentioned elsewhere, the message for developers is clear: do not make the mistake of creating an application for a single platform. In the future, successful developers will have to accommodate applications to fit more than one screen size.

 In fact, the multiplicity of variable screen sizes is such that Microsoft’s three-screen strategy might be a few screens short. While the underlying sentiment behind the theory is right, big name providers are creating new ways to present information.

 Apple’s iPad is an obvious example, a device that sits somewhere between the pocket size smart phone and the laptop computer. Other less-hyped innovations are always entering the market.

 Take Intel’s recently announced Classmate PC, a hybrid device for education that offers the capabilities of a touch screen tablet and the usability of a netbook (see further reading).

 Some developments leave me to conclude that it’s too early to state that the three screens of PCs, phones and TVs will dominate our lives. Information is being provided in a series of ways across a range of forms.

 Convergence of screens is still far from a reality. Personally, I think we will be using far more than three screens – and the way that most people use a screen will vary depending on the device, location and a range of other contexts. As I have regularly suggested, context awareness is going to be a crucial element in the ongoing development of devices.

 While some people will like the option of having a phone on their watch, other individuals will want a different type of portable device that offers the option of a high quality, rollout screen.

 The end point, of course, will be convergence. Think forward and you can begin to imagine a situation where information on various screen forms is holographically projected. For now, however, such concepts remain dreams for the next generation.

Further reading

 http://www.microsoft.com/presspass/press/2009/nov09/11-17pdc1pr.mspx

 http://www.techradar.com/news/mobile-computing/intel-launches-new-tablet-netbook-classmate-pc-hybrid-685842


Digg!