Monday 20 February 2012

Android Widget Development Tutorials

Having recently approached Android widget development for the first time, I know how little helpful information there seems to be on the subject. In this article I'll run through a few of the better tutorials I've found in my research.

These are some basic introductions of mine:
Creating an Android Battery Widget
Developing Android Widgets

Here are some others:

Android Developers Guide and Official Resources
Here are the main pages of interest on the official guide, including development and design:
App Widgets
Introducing home screen widgets and the AppWidget framework
App Widget Design Guidelines

These are of course the best place to start and the best place to pick up the basics. However, for guidance on specific widget types, you will likely need to look outside of the official sites. If you happen to be creating a widget in which you need to check the state of the battery level, see this page:
Monitoring the Battery Level and Charging State

Vogella
Vogella is Lars Vogel's site, which is an excellent resource for all things Android. In this tutorial he runs through creating a widget app of any kind, including the design, Java programming and XML coding required:
Android Homescreen Widgets

BuildMobile
This BuildMobile tutorial is a good, easy to follow basic guide on creating a widget for the Android platform:
How to Code an Android Widget

Kasper Holtze
This is another easy to follow, detailed and practical guide, a good starting point to get to grips with the basic steps involved. To create a real widget you will need to carry out further development but this is a good start:
How to Make a Simple Android Widget

Do It Yourself Android
Another thorough overview of all basic tasks involved in creating any widget app, this tutorial also gives some helpful guidance on design for widgets:
Developing Android Home Screen Widgets

That's it for the moment, if I come across any more useful resources on Android development I will add them here - please feel free to add any you have found in the comments.

Monday 30 January 2012

Basic Web Design and Development Guides

While it is true that anyone can teach themselves Web design and development skills, if you want to learn good practice, you need to be a little selective in terms of the learning materials you use. In this article we'll run down some of the best quality sites for learning Web skills as a beginner to the subject. Try not to be put off by the number of areas to learn, they are not all obligatory. Once you have a couple of the technologies under your belt, you will find the others easier to pick up. Focus on one skill at a time and progress at a pace that suits you.

Web Design Basics
To get started learning development skills, you need to gain a basic understanding of how pages and sites work before creating code yourself. The W3Schools site is possibly the best single source of learning material for basic skills in all areas of Web design and development. As well as clear, simple explanations, it has interactive pages in which you can try out code yourself. There are a few other excellent resources for beginning Web development skills, including Tizag. Please also see the Tech Tutorial Links list on each page in this blog for general links to useful tech learning sites.

Here are some of the W3Schools basic guides:
Web Building Primer
Browser Information
Web Hosting


Client Side Development
Client side development is developing in those technologies that operate on the client, which means on the user's computer. Client side technologies include HTML, Cascading Style Sheets (CSS) and JavaScript, all of which run in the browser of the person using a site.

To begin with, learn to structure the content of your sites in basic HTML:
W3Schools: HTML Tutorial
Tizag: HTML Tutorial
HTML Dog: HTML Beginner

Next get to grips with styling your pages using CSS:
W3Schools: CSS Tutorial
Tizag: CSS Tutorial
HTML Dog: CSS Beginner

To make your sites interactive, learn at least the basics of JavaScript:
W3Schools: JavaScript Tutorial
Tizag: JavaScript Tutorial
Mozilla Developer Network: Learn JavaScript

JavaScript is an area with lots you can learn, with intermediate and advanced topics including AJAX and jQuery.


Server Side Development
Once you have learned the basics of client side development, if you want to continue building on your development skills, you can get started with server side development. Server side development includes scripting in languages such as PHP and ASP. It also includes data technologies such as SQL scripting, using database management systems like MySQL and Oracle, and optionally XML.

The basic principle with server side development is that you store your data in structured systems rather than within the pages for your site. The server side scripts bridge the gap between the data and your website pages, carrying out queries and updates as well as building the results into HTML code.

Learn basic PHP programming:
PHP.net: A Simple Tutorial
W3Schools: PHP Tutorial
Tizag: PHP Tutorial

Learn basic ASP programming:
W3Schools: ASP.NET Tutorial
Microsoft MSDN: Active Server Pages Tutorial
Tizag: ASP Tutorial

Learn about building, maintaining and using databases including SQL scripting and the MySQL database management system:
W3Schools: SQL Tutorial
Tizag: SQL Tutorial
Tizag: MySQL Tutorial
MySQL Developer Zone: Getting Started with MySQL

Learn how to use XML to model, store and use your website data:
W3Schools: XML Tutorial
Tizag: XML Tutorial
O'Reilly XML.com: A Technical Introduction to XML


Accessibility and Best Practice
Learning Web design and development involves more than just making the technologies do what you want them to. If you want to take a best practice approach and create successful sites, you need to consider accessibility. This basically involves making sure your pages are accessible to people regardless of their own circumstances, including the details of their computing software and hardware, as well as any issues they may have personally such as disabilities.

There are a variety of standards you can optionally observe when creating sites that you want to sustain a high level of quality. To ensure your sites adhere to these, you can validate them using online tools:
W3C Markup Validation Service

Jakob Nielsen has written many seminal guides on usability and accessibility that are well worth referring to:
Jakob Nielsen on Usability and Web Design

If you want to really get yourself up to date, consider learning emerging Web technologies including HTML5 and CSS3:
W3Schools: HTML5 Tutorial
W3Schools: CSS3 Tutorial

Finally, here are some of mine:
The Characteristics of a Successful Web Page
Web Development Concepts: Static Versus Dynamic
Good Web Page Characteristics
Why Web Developers are Excited About HTML5 and CSS3
The Vital Components in an Effective Web Page
What is Web Content?
An Introduction to HTML5 Features
What is Dynamic Content?
Web Development Concepts: Client and Server
How to Get Started with Web Development

Learning Web development is not something you do once, but is rather an ongoing process. To begin with you build yourself a foundation in the different areas, but you should ideally never stop building on it, expanding your skill set as time passes. The Web is constantly changing, so your development skills must evolve along with it.

Thursday 12 January 2012

Evaluation Guides for Information Technology Training

It goes without saying that by far the most common type of training to undergo in the workplace today is Information Technology. Whether you're a trainer looking to deliver successful IT training programs or are a business manager looking to enact some successful performance measurement for past IT training processes, it can be difficult to know where to start.

In some ways IT training is different to other types of training, but in most aspects it involves the same broad principles, both in terms of the learning process and the evaluation phase.

It's difficult to overstate the importance of IT training in the modern workplace, as so many jobs are now totally dependent on it. From the trainee's point of view it may be vital to performing daily tasks. From the employer's point of view it can yield vast improvements in productivity. Finally, from the trainer's point of view it is a professional activity that should be enacted according to best practice.

Here are a few resources on the subject of evaluating training for IT with links to detailed information from both the training and business management perspectives:

Ambysoft: Strategies for Effective Training and Education in Information Technology (IT)
This is a comprehensive guide to Information Technology training within business organisations. This page distinguishes between training and education, with clear guidance on strategies to facilitate effective learning of IT systems, practices and processes in the workplace context. One of the most useful elements here is a lifecycle model for the training and education experience.

Acend Corporate Learning: Kirkpatrick's Four Levels of Learning
This page explores the Kirkpatrick model for evaluating the success of training programs. The model addresses various aspects of performance measurement, including reaction, learning, behaviour and results. This is specifically aimed at people in business contexts, with particular reference to Return on Investment (ROI). The official Kirkpatrick site has lots of info as well.

Free Management Library: Evaluating Training and Results
Detailed guide to evaluation of training processes within business environments. Includes a comprehensive section on training evaluation with regard to Return on Investment (ROI). This page isn't dedicated to IT training specifically, but is a useful general overview of the evaluation task.

FAO Corporate Document Repository: Principles and Methods of Training
Comprehensive overview of training principles including a section on evaluation, covering aims, tools and content of evaluation materials. This is a really useful guide to refer to for all aspects of training, not just for IT and not just for the evaluation process.

Ara Research and Development: Evaluating Training Effectiveness
This is another general, non-IT specific overview but has a range of useful points, tools and techniques for measuring the success of a training process. The focus is on feeding back into the training content to improve it over time.

BusinessBalls: Training Programme Evaluation
Another generic overview, but with links to additional resources. This page has a section on lessons workplace trainers can learn from childhood educational principles. This page is a great reference for links to information about models and sample paperwork for feedback capturing.

Intulogy: The ADDIE Instructional Design Model - Evaluation
The ADDIE model is used by trainers when creating training programmes. This page overviews the evaluation principles within the ADDIE model through a series of broad questions.

Finally here are a couple of mine:
Checklist for IT Training Evaluation
Evaluating IT Training

So there you have it. Although these are not all specific to IT training, they do all contain material that is relevant to it. Hope it proves useful.