HTML5 Canvas for Dummies
  • HTML5 Canvas For Dummies
    HTML5 Canvas For Dummies
    by Don Cowan

tel. 970 708 0899

fax. 970 497 4377

Search Our Site
Email Us
This form does not yet contain any fields.
    Search Our Website
    This area does not yet contain any content.
    Free QuickClick App Downloads

    Click below to download free QuickClick apps for your Android smartphone... 











    English Places


    Fast Food


    French Places






    Health Food


    Irish Places


    Italian Places














    Scottish Places






    Custom Apps

    Get a custom QuickClick app for your business. Use the format you see here or let us create a custom format tailored to your needs.



    Using Concept Maps with UML Components

    Concept Maps are a useful way to graphically document the relationships between the elements of a system. Not only do they assist in the system design process, but they can be used to communicate design ideas to stakeholders such as users and management. Unified Modeling Language (UML) is a more structured form of concept maps focused on Object Oriented Programming (OOP.)

    We've found that combining tools and including useful graphic elements such as screen shots creates a very user friendly design tool.


    Programming Languages: Java vs. C++

    We're often asked about the differences between the Java and C++ programming languages and why Android apps are written most often in Java.

    The table below highlights some of the differences between the languages. Basically, Java is better suited to the fundamental programming (using the SDK - Software Development Kit) for most app functions. C++ is used (with the NDK - Native Development Kit) in circumstances when high performance or easy re-use of existing C++ code is important. 


    Object Oriented Programming Data Structure Decisions

    When it comes to organizing data in an Object Oriented Program, there are lots of choices and decisions to make. It can at times be difficult to think through all the criteria for selecting and implementing the right data structure.

    We use decision tables such as the one below to help us discuss and work through our implementation.


    Object Oriented Programming Design Patterns

    This entry is part of a series on programming Design Patterns that provides a framework for the rapid recall and use of patterns during application design.

    OOP (Object Oriented Programming) is an integral part of developing applications for the Android platform. OOP Design Patterns are development templates that give software designers and coders shorthand ways of thinking about and solving programming challenges.

    A full explanation of OOP Design Patterns can (and does) fill entire textbooks. Understanding and remembering every aspect of every pattern can be a daunting task. Often programmers need to discuss pattern usage with software designers and managers. Getting too lost in the details can distract from communicating the essence of a software solution.

    To aid developers and managers in the use of OOP Design Patterns, we have developed a set of shorthand iconic images that convey the essence of patterns. This helps greatly in developing the skills of matching patterns to programming needs and communicating overall designs.

    As an example, the image above is our icon for the Decorator Pattern. The Decorator Pattern can be used to extend (decorate) the functionality of a certain type of object. As our icon image suggests, let's say we have a class called BirthdayCake. The BirthdayCake class contains code to create just the essential cake layers and basic frosting. One approach to a decorator pattern would be to create a CakeDecorator class that modifies WeddingCake by adding the candles, frosting details and other embellishments. This would be done dynamically in the CakeDecorator code as opposed to extending the BirthdayCake class. It is the objects themselves that are being modified, not the class creating the objects.

    Is this a bit of a silly example? Maybe. But having an image with some silly but memorable element aids in quick recall.

    So, if you're having difficulty applying Design Patterns, try developing a series of images that work best for you and your applications.

    Here are some design patterns we've iconed:


    Android Market Search

    I had a great time delivering a presentation on Android Market Search at the San Francisco Android User Group on December 12th. Thanks very much to the organizers and participants!

    Click here to get the presentation slides I used.



    The Google Motorola Mobility Merger

    The purchase of Motorola Mobility by Google is progressing. It has been approved by the Motorola Mobility shareholders and awaits approval by the U.S. government.

    There has been speculation that one of the major motivations for Google is the patents held by Motorola Mobility. Owning these would help Google fend off patent lawsuits by other companies.

    Aside from the legal aspects, the merger will likely have a number of benefits for Google. These could include:

    • Better insights into the interaction between hardware and software.
    • Improved ability to compete with the Apple hardware/software integration advantage.
    • An improved platform for testing new features.
    • Improved input from hardware designers into software development.

    Can I Get an Ice Cream Sandwich?

    Google's new Android version 4.0, dubbed Ice Cream Sandwich, is now available. However, for the moment, you'll only see it on new devices. Many of us with older model phones would like to have it retrofitted. Service providers will certainly get around to doing this with some of the more recent models, but older models may never get the dairy confection.

    For those of us adventurous enough, "rooting" our phones and loading an Ice Cream Sandwich ourselves is an option. Please see our Blog entry on Rooting for more information before you give it a try.


    What's Up with HTML5?

    HTML5 is the first major update to the HTML standard since HTML4 was standardized in 1994. Full approval by standards bodies and complete implementation may take another decade, but parts of HTML5 are already being implemented.

    Each browser supports HTML5 to a different degree. The website can be used to test the extent to which a browser currently supports HTML5. 

    The screens to the right were taken from a test of a Droid X running Android version 2.3.3. It scored 177 points out of a total of 450. As is evident from this test, smartphone browsers are not very far along in implementing HTML5 features. The lower screen to the right shows the status of some desktop browsers.

    Possibly the most well known of the HTML5 features is the new <video> tag that will avoid the need for Flash in playing videos. This is especially important now that Adobe has announced it will stop development of Flash for mobile devices.

    HTML5 contains many new features. A number of these are focused on eliminating the need for proprietary plugins and Application Programming Interfaces (APIs.) This advances the idea of being able to develop applications that will run on any device that supports HTML5, including multiple smartphone, tablet and desktop brands.


    Rooting - What It Is and Why to Think Twice Before Doing It

    In brief, rooting your phone refers to making changes to the phone operating system so that you can load a different version of the system than the one that's pre-loaded into your phone.

    Reasons users root their phones include: enhancing performance, to get a different look and feel, to have more flexibility in what software can be used, getting the latest Android releases and to have some technical fun.

    The term rooting refers to getting privileged root control access within the Android Linux core system. Rooting is necessary to install custom versions of the Android system. One of the more popular of these is CyanogenMod. It offers such features as improved sound processing, additional display themes and improved processing speed.

    There has been quite a bit of controversy over rooting. Some vendors and carriers discourage it and some support it.

    Potential risks include: voiding your warranty, loosing data and "bricking" your phone thus rendering it inoperable. Those that choose to root are comfortable with these risks and see them as being outweighed by the  benefits. They're also willing to invest the time needed to make sure that rooting is done correctly and can be undone if something goes wrong.

    The exact process of rooting can vary by type of device. It's necessary to find instructions specific to your Android phone. There are websites dedicated to rooting where you can find this information along with help for dealing with problems caused by rooting.

    Essentially, rooting involves "flashing" (changing) a phone's ROM, or Read Only Memory. There are ROM Manager apps available on the Android Market that can be used to backup, change and restore ROM contents.

    So, if you have the time and sense of adventure, rooting might be just the right thing for you. 

    If not, you can wait for new phone releases to bring you many of the benefits of rooting without the risk and hassle.


    QuickClick Apps Press Releases

    Please see recent press releases for more information about applications for our QuickClick Apps