Posts tagged "web development"

How to Program In Python – A General Overview for Beginners
Python, a high-level language developed by Guido van Rossum, is known for its smooth readability. The core philosophies of the language are simple – simplicity over complexity; beauty over ugliness, explicit over implicit and other comparable aphorisms. The most important philosophy of the language is “Readability Counts,” which suggests that the syntaxes and codes written using Python are neat and clean. The programming language has a huge library that encourages programmers. Python further has an open source version named as CPython programming platform. It has a tremendous community of developers who constantly grapple to upgrade features.   Python is a dynamic language and helps different programming styles including object-oriented, aspect-oriented, functional and imperative. One of the biggest features of the language is easy and enhanced memory management. Essentially applied as a scripting language, Python offers a magnificent level of functionality. While it can be practiced as a standalone program, you can also unite with third party tools and customize its functionality.   One of the highlights of Python is that it is a highly extensible language. This means that various functional elements are not built into the core of this platform. Rather, you can use third-party applications and lengthen the platform’s functionality. Additionally, you can also integrate a Python code into an existing program and create an interface for programming. This is called Embedding and Extending.   Like mentioned above, syntaxes of Python are simple. Complicated syntaxes are denied, and the platform embraces codes that are less cluttered and inadequate. However, this does not in any way affect the performance or functionality of programs. Also, unlike other conventional programming languages such as Perl, Python does not offer redundant clutter by giving the programmer multiple ways of accomplishing the same purpose. Python’s philosophy is to contribute one powerful way or receiving one result. This philosophy is the main driving force behind the simplicity of Python. So, if you want to become proficient in this language, you need to change your mindset and think in an easy and straightforward manner. This approach towards programming works excellently with Python.   To aid simplicity, Python coding and syntaxes adopt English words rather than punctuations or symbols. This improves the readability as well. Some patterns of statements written in Python include “if”, “for”, “while”, “try”, “class”, “def”, “with”, “yield”, “import” and countless others. Most of the commands used are self-explanatory.   Owing to the efficiency of handling, Python is a “programmer’s language.” Moreover, mastering the language is pretty simple. One of the biggest advantages of Python development, besides clear and surely readable codes, is the pace with which you can code. Programmers can go on the accelerated track because multiple levels which are not specified can be skipped. Another advantage is that programmers get a lot of assistance from the Python open source developer community.   The portability feature of Python is another significant strength of Python development. Not only can Python run on various platforms, but also programmers only need to write a single program to operate on all operating systems such as Linux, Mac, Windows and others. It is an extremely adaptable language.   Learning Python is not an onerous task even for beginners. So, take the leap and master the Python.
W3C Cuts Path for Global Government Linked Data

Governments, Open Data

The notion of using open data, the semantic web, and so on in open government is not new; the U.K. for example, has been working on it since 2009. 

As described in the new group's charter:

The mission of the Government Linked Data (GLD) Working Group is to provide standards and other information which help governments around the world publish their data as effective and usable Linked Data using Semantic Web technologies. The group, a part of the eGovernment Activity and closely connected with the Semantic Web Activity, will collect and make available information about government Linked Data activities around the world. It will use that information and the experience of its participants to develop W3C Recommendations for Best Practices and for RDF Vocabularies necessary for publication of government data in RDF, as Linked Data."

Linked Data, as defined by the W3C, is the collection of interrelated datasets on the Web.

Deliverables

Deliverables from the group are intended to be:

  • an online directory of the government linked data community, first version of which is due in September
  • "cookbook" advice site, the first version of which is due in December
  • best practices for publishing government linked data, the first version of which is also due in December
  • standard vocabularies, the first version of which is also due in December

Stable operation is expected in 2012, and transition to post working group operation is expected in 2013. The group's work is public.

W3C Solution For Robust Web Application Caching Progresses

W3C_logo_2010.jpg

The Web's days of innocence, where it was just used to post the digital equivalent of static brochures, are long past. Today we expect to do everything over the web, no matter how forced and cludgy it has to work under the hood to accomplish our goals. Fortunately there are people willing to wade into the mind-numbing realm of protocols and data streams in order to improve it all.

Taking Care of Data in Offline Web Apps

As web applications grow in sophistication, they're escaping the boundaries of constraints such as the web browser and the need to be constantly connected. The problem is that web standards such as HTML weren't developed for many of the use cases that are common with today's web applications.

Right now, everyone working on such applications has to develop their own solution. As work continues on the update toward HTML 5, parallel work is also in play to create standard protocols and APIs to prevent this constant reinvention of the wheel and faster innovation and easier interoperability.

One of the areas where, for the moment, people are having to hack solutions together is that of how to queue or cache data for a web application that has gone offline. HTML 5 offers a way to create application caches, but due to their static nature this option can only be used with safe HTTP methods. The Programmable HTTP Caching and Serving API is under development by the Web Applications Working Group to address this problem.

A Solution That Extends HTML 5's App Cache

This API extends HTML 5's application cache by:

  • Allowing applications to add resources to the cache, which can then be served by the user agent when the resource is requested.
  • Enabling applications to generate responses to requests for resources that were added to the cache.

These extensions allow use of the HTML 5 cache with unsafe HTTP methods like PUT and POST. As an example, the working draft offers,

"Using this application cache extension, applications can obtain locally cached data or data produced locally by JavaScript servers and perform requests on resources that can be served whether or not the user agent is connected to a remote server. Applications can then save and replay locally satisfied requests to the server when it is reconnected, thus enabling responsive and robust Web applications in the presence of low connectivity conditions."

Essentially, this extension allows web applications to seamlessly switch between online and offline work, causing far less hair loss as users will be less likely to lose their work due to a connection outage.

Those who want the absolute bleeding edge can check out the W3C Editor's Draft version of the API here.

Gartner: Mobile User Experience to Drive Design of Web Apps

One day the mobile interface will influence everything from the way we collaborate, communicate and design. According to Gartner’s five social software predictions for 2010 and beyond, the mobile web will change the way we think about user engagement, work spaces and the PC-based web.

Going Beyond the Web

Number four on the list focuses on the design of PC-based collaborative applications. More specifically, the prediction says:

Within five years, 70% of collaboration and communications applications designed on PCs will be modeled after user experience lessons from smartphone collaboration applications.

In other words, the mobile web will influence the user interface of the future. While at first glance, this may seem unusual, we are reminded that soon there will be more than 300 billion phones in use worldwide. Mobile devices, by design, are for communicating and collaborating at anytime, from anywhere.

As smartphones become more sophisticated and user-friendly, Gartner expects “more end users to spend significant time experiencing the collaborative tools” on these devices. If Gartner’s predictions are accurate, the implications on design and usability will be significant. We examine a few of them.

Design and Accessibility

At present, the way a website looks on a mobile device is secondary to the larger screen they interact with on the desktop. Soon, however, (if not already) designers and developers will have to build sites separately or primarily for the mobile web. This means, that technology departments will have to actively testing on all advanced smartphones as well as established platforms for consistency and accessibility.

Collaboration

The mobile interface may change the way people work. As more applications are designed for mobile users to actively engage and collaborate, organizations may need to design tools that employees and customers can access more readily than a landline phone and with more features.

Exposure

Gartner points out that “for some of the world, [mobile apps] will be the first or the only applications they use.” It used to be that a website was an organization’s window to the world, and thus the most important part of a user’s interaction.

It may be that a user’s first interaction with an organization or product is through a mobile device or application, making it essential that companies start simplifying interfaces so that they are consistent across platforms or build multiple entry points to guarantee they are accurately represented.

Of course, a lot can happen in five years. The Gartner predictions serve as a reminder to think ahead. To remind oneself of the evolutionary nature of user behaviors can help organizations, designers and developers anticipate changes and build for the future, not the present.

Leadership Change: Jeffrey Jaffe Takes the Helm at W3C

There's a change of the guard at the W3C (site) this month. Jeffrey Jaffe has been named as the new Chief Executive Officer. His extensive business and technical experience make him the perfect match to support the W3C's role as the leading forum for the technical development of the Web.

 An Background in Enterprise Solutions

Jaffe has a pretty impressive background:

  • Executive Vice President, products, and Chief Technology Officer at Novell
  • President of Bell Labs Research and Advanced Technologies at Lucent Technologies
  • Vice President of Technology for IBM

And that list is only a subset of the interesting roles he has played. In everything that Jaffe has done, he has shown commitment to open standards and open source, which makes him a perfect match for the W3C. 

"Web technologies continue to be the vehicle for every industry to incorporate the rapid pace of change into their way of doing business," said Dr. Jaffe. "I'm excited to join W3C at this time of increased innovation, since W3C is the place where the industry comes together to set standards for the Web in an open and collaborative fashion."

Leading the Web to Its Fullest Potential

As part of Jaffe's role, he will work with W3C Director Tim Berners-Lee, along with the rest of the W3C — staff and membership, and the great community to communicate the organization's vision and evolve it.

In his first blog post as CEO, Jaffe says his immediate priority is to "preserve and enhance the W3C culture of having an open consensus-based process."

He also says that he will blog often on the issues and encourage comments and/or direct emails to discuss issues of importance to the organization.

A long road ahead of him, Jaffe does seem excited to play such an important role in the evolution of the Web. We look forward to hearing more from him on initiatives such as HTML 5, the Semantic Web and the Mobile Web.

Clickability Extends SaaS Web CMS With Integrated IDE

Web CMS outfit Clickability adds an integrated development environment to allow customization and flexibility for its on-demand CMS product.

Play Time For Designers

The folks at Clickability must have been really busy this year, no blog updates since last November, no press releases since October. What's been going on deep in their San Francisco offices? 

One answer may be the addition of an Eclipse-based development environment to Clickability's Platform that will allow site designers to work with a range of advanced features for the SaaS-based Web CMS.

While Clickability has long claimed to be accessible to a non-technical audience, it can now appeal to developers and web designers, encouraging improved, better featured websites and content for clients.

Available to all existing users now, features of the IDE include:

  • Allows designers to work on code or templates from any location.
  • Secure access to the Clickability Platform design repository from within Eclipse.
  • Template development with rich editing features.
  • Tracking and auditing of template updates with version histories.
  • Manage the development, staging and production environments.
  • Preview updates within Eclipse.

Clickability is aimed at high tech, government and media industries and offers SaaS content management, social media features and a full management system, saving on the need for expensive hardware.

A Total Eclipse

The Eclipse IDE was started by IBM but is now an open platform with a huge number of plug-ins being developed and used by many companies to ensure open and vendor-neutral standards.

If you want to find out more about Eclipse then you could make it to Santa Clara forEclipseCON 2010 that runs from the 22-25 March. Alternatively, there are a series oftraining events around the world that might be of use.

Revisiting the 3 Questions for Great Experience Design

2010 is proving to be about user experience. Even in the past few weeks, we have covered the trends and needs associated with improving usability online, from web design to promoting transparency.

With the upcoming MX: Managing Experience conference that will focus on usability and user experience best practices, we'd like like to revisit the three key variables Jared Spool once indicated as being critically important to the field.

Managing User Experience

In San Francisco from March 7-8, MX: Managing Experience will work to improve customer experiences on the web, mobile and more. The featured keynote at MX is none other than Jared Spool, founding principal of User Interface Engineering. Spool, a contributing writer for CMSWire, has spent much of his life researching usability and experience design.

While he will no doubt captivate the MX audience with insights about usability, we’d like to revisit the three key variables Spool once indicated as being critically important to the field. He wrote about them in 2008, but they still resonate and remind us that while emerging trends may confound us, applying tried and true methods can help us all develop new solutions.

The Three Questions for Great Experience Design

These three crucial questions can shed light about how you and your team work to address issues of vision, feedback and culture. Spool says “teams that answer these questions well are far more likely to create great experiences than the rest of the pack.”

Question 1: What will the experience be like five years from now?

While we all work towards a goal, it’s imperative to make sure that everyone not only understands the goal, but is also able to articulate it in such a way that illustrates how the user will interact and complete the transaction.

Looking ahead five years ensures that the actions go beyond the “immediate reactive requirements and starts considering what a great experience could be.”

Question 2: In the last six weeks, have your team members spent at least two hours watching people experience your product or service?

It goes without saying that if you’re focused on user experience, learning how people engage online requires observation. If you’re not watching, you can’t advance their experience. From usability tests or field studies, it’s necessary to spend at least two hours observing the current experience.

Question 3: In the last six weeks, have you celebrated the problems discovered in the user experience?

Spool believes that problems become opportunities for improvement. Establishing a culture that accepts failure, as well as appreciates it as a way to learn about the users and their needs, can learn best from their mistakes.

Ultimately, by making the learning process explicit — offering rewards and acknowledgment for finding bugs — the culture starts to look for it.

Lasting Lessons

If you don’t know what’s wrong with a user experience you can’t fix it. Improving behaviors starts with the vision and leads to observing users’ actions and results in finding and fixing mistakes. There isn’t a cookie cutter for approaching usability. Furthermore, you can’t begin to understand others’ behaviors without defining what you want them to be.

As we dig deeper into usability design in 2010, the questions posed to us nearly two years ago are still relevant.

Add a little HTML5 Video Support to Internet Explorer

The Internet Explorer browser does not currently support HTML 5, Microsoft has already said that support is coming in version 9. But you really don't want to switch browsers just to get a taste of the new order. Christian Adams has a little something that will do just that. But keep in mind, it is little.

Bringing a Little HTML5 to IE

Tied to Internet Explorer, either by choice or by company policy, but want some cool HTML5 capability? Well there's a new plug-in that may keep you happy for awhile.

Christian Adams has released a new version of his plug-in Xiph.Org Ogg Codecs. Along with a few Theora and FLAC bugfixes, it includes better support for Windows 7, and a video tag for Internet Explorer.

Still in technical preview, this video tag is just that — a tag. There are no features like seek, controls or HTML5 interfaces, there's only basic playback. Still, it's something right? Right.

HTML5VideoTag.jpg
Demo if HTML5 video tag hack

To enable the video tag there is an xmlnx attribute that needs to be added to Internet Explorer (xmlns="http://www.w3.org/1999/xhtml/video) and if you are still using IE6 or IE7 you have a little tweaking to do.

You can check out a video demonstrating the feature — keep in mind you won't actually see the video unless you have the plug-in installed or are on a browser that supports HTML5.

 

CollabNet Adds Scrum Project Management to its Agile ALM Platform

If you are big on agile development, then you probably know who CollabNet is. We've mentioned the ALM (application lifecycle management) solution provider before when they came out with a Visual Studio supported version of their desktop offering.

And while we don't cover a lot of agile development news, CollabNet's acquisition of Danube, a provider of Scrum project management seems worth a mention.

Of course the terms of the deal have not been disclosed, but CollabNet says it positions them very well in the agile ALM market. Together they provide scrum focused services and project management in addition to lifecycle management for software development.

“CollabNet has pioneered new methods of software development since its inception, ranging from the introduction of Subversion, aimed at helping distributed teams collaborate on their code assets, all the way to the introduction of enterprise ALM platforms, enabling all development stakeholders to collaborate in the Cloud, regardless of location. CollabNet’s acquisition of Danube is the next step in our continued leadership in changing the way that software is built,” said Bill Portelli, chief executive officer, CollabNet.

Developing applications has become more difficult with the need to get things out faster and with less bugs and issues in order to be competitive. That's why agile development has become so popular.

There are plans to integrate CollabNet's TeamForge product and Danube's ScrumWorks for Agile. If you want to know how and see the products in use, there's a webinar on March 16 that should provide you all the details.

CollabNet Adds Scrum Project Management to its Agile ALM Platform

The Essence of a Successful Persona Project

Personas are a flexible and powerful tool for user researchers. They're also one of the most misunderstood. When done well, they ensure the team focuses on the needs and delights of their users.

Like other effective user research techniques, personas deliver confidence and insights to the team. Personas help the team make important design decisions with a thorough understanding of who the users are, what they need, and when they need it.

For the last few years, we've studied how a variety of design teams have tried to harvest the benefits of persona projects. We've explored several wildly successful persona projects and many that fell far short of their goals. We now better understand where the magic lies with personas — what the essence of a successful project is.

An Advanced Technique

You don't get the benefits of personas for free. While we saw many teams reap new insights within the first few hours, the teams that saw the most out of it made a long-term investment.

Our research showed timing is a critical element in the success of persona projects. The team has to be in a place where they can proactively tackle design challenges. If the team is dealing with a firehose-stream of feature requests and enhancements, the project won't get much traction.

At the same time, the organization needs to be ready to make the users' overall experience a priority. We noticed this often comes after an experience disaster — some external issue that brings the overall experience, not just the features and technology, into the limelight.

For example, when a major e-commerce web site suffered a failed redesign launch, reducing sales by 35%, their senior management finally understood the need to know more about how their customers shopped. Before the devastating launch, the management's focus was all about features and slick visual design, but because of the revenue decrease, customer experience was now on everyone's mind. Personas were now a priority.

Because personas take time to develop and integrate into the culture, they require involvement at all organizational levels to be effective. Like any important endeavor, if the organization can't give the team the time and resources, then the persona project will probably fail. When that happens, it's likely the organization is just not ready.

Starting With Information You Already Have

We were surprised by how easy it was to jumpstart a persona project. We came into the research thinking successful projects had to start with an intensive research effort, costing big bucks and eating up the calendar. We couldn't have been more wrong.

Many successful teams started by culling information the organization already had in their heads. Using techniques that collect this information, such as Tamara Adlin's Ad-Hoc Persona workshop, these teams get working personas very quickly.

These quick-start methods are often fun and inspiring, as they focus the team on users’ needs from the very beginning of the project. A key element is involving senior management and stakeholders from the get-go. Their participation sanctions the work, helps everyone think from a user experience vantage point, and simplifies the persona ranking process.

At first, we were wary about constructing personas from existing viewpoints instead of from fresh research of real users doing real things. We thought it would create a design trying to solve problems that don’t encompass real users needs.

However, almost every team that used the jumpstart method went off to do more robust, formal field research, visiting users and observing real issues. As the new information came in, they changed their personas along the way, showing management where the internal beliefs differ from the real world. And, because the team involved senior management in the first pass, it was easier to sell the more rigorous research.

Our big surprise was discovering this: A team using the same, incorrect personas is better than each member designing for a different user, where some hit the mark and some don't.

Having the same personas to work with, even if they're off the mark, gives the team a common language. Since the successful projects ensured their teams had subsequent exposure to real users, correcting any wrong beliefs was easy. When everyone started on the same page, they found it easy to talk about how new information needed to change their understanding.

How Do You Know You've Succeeded?

A common fixation amongst the failed persona projects we studied was the look and feel of the description document. The teams believed they needed a great looking description for each persona for its adoption. These teams invested hundreds of dollars (sometimes thousands) to produce slick posters, screensavers, and slideshows, describing the intricacies of each persona.

Studying the successful projects, we learned these description documents aren't important at all. These teams often had very bland, non-descript documents describing each persona. Instead, we found four success criteria: internalizing the personas, creating rich scenarios, prioritizing the most important personas, and involving all the stakeholders and influencers.

Internalizing the Personas: Each team member had the same personas in their head. As we talked with each person, they could describe the personas as if they were their favorite story characters. They had internalized the details — making them real.

Creating Rich Scenarios: The team members could talk through the personas' scenarios in detail. They could share each persona's context, the desired scenario outcome, and the approach the persona took to get there. It was clear the team had talked about these scenarios often, because everyone would tell us the same details, much like when people share their favorite fairytales.

Prioritizing: Interestingly, the successful projects also had something we hadn't originally looked for: a clear understanding of each persona's priority. We'd always thought the importance of a persona would shift depending on the designer's current focus. However, amongst the successful teams, they knew which personas were most important and which they could sacrifice when compromises had to happen.

Stakeholder Involvement: The most successful projects made sure this knowledge extended beyond the primary design team members, to all the people who could influence the design. When we talked with stakeholders and influencers outside the core project team, such as business line managers and the company's lawyers, it was clear they were also well versed in the personas, their scenarios, and their priority. They told us of frequent meetings and memos where an in-depth analysis of a persona's scenario influenced important business decisions.

We've found there's a simple test to measure whether a persona project will be a success: Walk up to any team member, stakeholder, or influencer and ask who the most important personas are. If they can give the same story as everyone else on the team, you have a winning project on your hands. Slick posters and screensavers aren't spreading this understanding — it's frequent, in-depth discussions at practically every point in the project.

The Essence of Successful Persona Projects

We've long believed personas were a valuable design tool. We were initially disheartened by the many failures we'd seen, but now that we've had a chance to study some successes in-depth, we can see teams realizing the promised benefits.

The trick is to not rush into it. Ensuring the organization is at the right place in their user experience maturity is critical. Using a jump-start technique works, but the team needs to follow up with robust research. Finally, keeping the personas alive through frequent discussions, especially around key decisions and trade-off conversations, makes them a valuable design asset.