Demo WP for my WebDev Class

HTML Ipsum Presents

This is just a test. If this were a real blog entry I would add graphics.

Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Vestibulum tortor quam, feugiat vitae, ultricies eget, tempor sit amet, ante. Donec eu libero sit amet quam egestas semper. Aenean ultricies mi vitae est. Mauris placerat eleifend leo. Quisque sit amet est et sapien ullamcorper pharetra. Vestibulum erat wisi, condimentum sed, commodo vitae, ornare sit amet, wisi. Aenean fermentum, elit eget tincidunt condimentum, eros ipsum rutrum orci, sagittis tempus lacus enim ac dui. Donec non enim in turpis pulvinar facilisis. Ut felis.

Header Level 2

  1. Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  2. Aliquam tincidunt mauris eu risus.

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vivamus magna. Cras in mi at felis aliquet congue. Ut a est eget ligula molestie gravida. Curabitur massa. Donec eleifend, libero at sagittis mollis, tellus est malesuada tellus, at luctus turpis elit sit amet quam. Vivamus pretium ornare est.

Header Level 3

  • Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
  • Aliquam tincidunt mauris eu risus.
 #header h1 a { display: block; width: 300px; height: 80px; } 
Leave a comment

What is Drupal?

 

Here is my presentation “What is Drupal? An introduction for Programmers” that I gave at the 2012 Minnebar  this last weekend. What a great conference!

I’ll be presenting this again at Twin Cities DrupalCamp at the University of Minnesota on May 18-19th.

Use full view in SlideShare and you will get access to the links in the upper right corner of the slides which link out to the demonstration videos I have out on YouTube.

 

 

 

 

South Central College students attending 2012 Minnebar #7Ten of our students from South Central College were able to attend on Saturday. Here is a shot of some of us waiting for the fun to begin.

 

Tagged , , | Leave a comment

Install Drupal 7 In Five Minutes (or less)

I’m getting my presentation “What is Drupal?” all set up for the 2012 Minn*Bar Conference. Here’s a video I created showing how easy it is to install Drupal 7. I was able to do it in under five minutes.

If you are new to Drupal this will give you a quick overview on the installation process for Drupal.

This is just one part of my presentation. I’ll post the finished presentation as soon as it is ready.

Leave a comment

Set up the PHPStorm 3.0 Debugging Environment

Debug using Localhost

PHPStorm allows you to dynamically debug your code using breakpoints, stepping, and many other features. The following steps document how I set up debugging on my MacBook Pro using Lion OSX version 10.7.3 and PHPStorm 3.0.

I am running localhost as part of the operating system instead of using MAMP but the overall strategy remain the same.

The term “remote” signifies debugging on a web server and your localhost server is just that, a ‘remote’ web server. This is different then debugging say, JavaScript, on a local web page, that doesn’t run on a web server like PHP.

I hope these notes are helpful in getting your debugging sessions set up as quickly as possible on your system.

Make sure php.ini is loaded

You can verify that your php.ini file is being read by creating a simple PHP file and save it in the root of your localhost web folder. You may want to name it test.php:

  <html>
  <head>
    <title>Testing PHP</title>
    </head>
  <body>
  <h1>Testing PHP</h1>
  <h2>Demo Code</h2>
    <?PHP
     echo "This is a test";
     phpinfo( );
   ?>
  </body>
  </html>

The key to this page is the phpinfo( ). This is an invaluable function to help you verify that PHP and all its support programs are up and running.

When you run this page using localhost you should get an information page that looks something like this:

view of the phpInfo( ) test page

Make sure there is a path in the Loaded Configuration File reference. This tells you that PHP
is using your php.ini file.

If not, check the settings in your Apache .conf file. (Mine was located in
private/etc/apache2/httpd.conf. It includes this line of code:

PHPIniDir “/etc/php.ini”

Make certain to reset your server if you change either the .conf or the php.ini files. Apple
logo/System Preferences/Sharing/ Uncheck “Web Sharing” and then recheck it to turn the server
off and back on, rereading both of these initialization files.

Install xDebug

You can get a compiled version of  xDebug from the Komodo website. Select the “PHP Remote Debugging Client” for Mac (Universal).

Download and unzip this file and save the xdebug.so file in /usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so. The long folder name designates the version of xdebug which became important later on when I was installing the Google Chrome extension.

Add the following lines to the php.ini file. Make certain you are using the php.ini file that your PHP program is using. (Refer back to the path found when you ran test.php in the first step.)

  ;PKJ  http://files.zend.com/help/Zend-Server/zend_debugger_-_configuration_directives.htm
  ;PKJ  http://drupal.org/node/157609
  ;PKJ  http://stackoverflow.com/questions/1936792/where-can-i-download-xdebug-for-php-and-mac-os-x
  [xdebug]
  zend_extension=/usr/lib/php/extensions/no-debug-non-zts-20090626/xdebug.so
  xdebug.remote_enable = 1
  xdebug.remote_host = localhost
  xdebug.remote_port= 9000
  xdebug.remote_log = /users/yourUserNameGoesHere/Desktop/xDebug.log

Notice I listed several web pages you can use as a reference. You can also comment out the xdebug.remote_log if you don’t need that. It should be a path pointing to the spot where you want to have the log created. I just put it on my desktop for quick debugging.

list settings for PHPStorm phpDebug
Run test.php again.

(Don’t forget to run it from localhost.) and you should see two references to xDebug.

Once under PHP Modules and again under Zend Modules. Use CTRL F in your browser to locate these references quickly on the phpInfo web page.

 

Set up PHPStorm

A nice, fast shortcut to access the Preferences Window in PHPStorm is CMD , (comma).

Inside the PHPStorm Preferences select PHP/Debug

phpInfo( ) output showing that xdebug is loaded properly Inside the PHPStorm Preferences select PHP/Debug.

– Set the port to 9000 (matching what you have in the php.ini)

– Check the box “Can accept external connections”

– The next three break options can be left check or unchecked depending on you own preferences.

Also go into PHP/Debug/XDebugProxy and set the following:

– IDE Key: PHPSTORM (This is used to connect the Google Chrome Extension with PHPStorm
xDebug).
– Host: localhost
– Port: 9000

Add Extension to Google Chrome

xDebug extension after installation in Google ChromeIcon showing the Google Chrome icon set to "active debugging"

 

Using Google Chrome Extensions do a search for Xdebug Helper and install it.

The option settings must match what you have in the PHPStorm Preference settings that you made in the previous step.

Use the Remote Debugger

To use the remote debugger, open up the test.php in a browser (using localhost) as well as in PHPStorm. A small grey bug icon will display in the right end of the URL.

turn on remote debugging and set a breakpoint

A session stopped at the breakpoint after refreshing the browser window

 

 

 

 

 

After you refresh the actual web page (CTRL R) you can control the flow of the program and view the variables by switching to PHPStorm and using the controls in the Debug Window.

NOTE: You have to run the debugging session from the browser by refreshing the page. That will trigger off the breakpoint set in the actual code.

Toggling back and forth between the browser and PHPStorm…

  • Step Over (F8) allows you to skip through a function.
  • Step Into (F7) allows you to step into a function.
  • Use the Red X (CMD F4) to stop a debugging session. (At first you might forget this and have several debug sessions all
    piled on top of each other.)

 

Tagged , , , , | 2 Comments

Designing Social Interfaces

 

 

Patterns for Improving the User Experiencexxx

 

 

Patterns. They are so useful because we design things to do similar tasks over and over. Like a login screen. This book is filled with best practices and patterns on how to create a great user interface.

I first heard about this book while listening to a podcast with Christian Crumlish, Erin Malone, and Jared Spool as they discussed UX (User Experience). They talked about use patterns and how these can be applied over and over for a better user experience as part of the User Interface Engineering podcast series.

Christian and Erin have written a very readable volume that is indispensable for anyone creating software, especially if it is a social-based web application.

Each pattern has colorful examples describing the what, when, how, why as well as accessibility issues to be aware of, related patterns, and a list of example web sites. There are lots and lots of excellent screen shots showing how the pattern is used out on the Web that flow in and out of the text just at the right times.

The authors also include several anti-patterns: things that don’t enhance the user’s experience. These are just as valuable as the useful patterns. As you read about each anti-pattern you’ll say "Yes, I find that so irritating when ‘they’ do that."

Other experts have been invited to the party as well and each chapter is interspersed with short articles that go into greater depth.

This information could be SO dry, and it originally was, but Christian threw out the first two versions and wrote the finished book in a talkative, friendly, fun-to-read manner.

I’m enjoying the read and am already using this as a reference as I talk with people about their web sites and what they want to accomplish.

 

Leave a comment

Unbelievable eCommerce (with Paul Boag)

Unbelievable eCommerce with Paul Boag in the lower cornerI couldn’t make it to SXSW this year (and get my annual fix of Paul Boag – one of the main influencers who taught me to how use CSS years ago) but several videos are being published highlighting some of the presentations. Paul Boag came up with a great idea:  Create a video doing a run-through of his presentation the day before he left for Austin, TX.

http://boagworld.com/talks/unbelievable-ecommerce/

List of highlights for business and design aspects of web site designThis is a great session, done with all of Paul’s infamous candor, demonstrating many factors that can be done on a web site to increase usability. The first part covers business decisions followed up with design decisions. His tips and tricks are very valuable considerations that should be included for almost every site out there as our population continues to age. 

I especially like the anecdotes Paul uses when talking about usability testing. He clearly shows how deceptive "in-lab" testing can be and recommends going into people’s homes to truly find out how they are doing things.

Although the target audience for this case study is the elderly, the business and design ideas that Paul presents would be valuable on almost every web site.

 

Nice work Paul!

Leave a comment

JavaScript – Using Variables

Learn about variables and how to convert from strings to numbers using JavaScript.

  • Discover the difference between declaring a variable and initializing it.
  • Uncover the different types of variables such as Strings and integers and floating numbers.
  • Meet NaN and find out what her name really means!
  • Learn how to convert a String to a number (so you can do calculations with it) as well as the "Octal Gotcha"
  • Unlock the mystery of the = = operator and how discover how computer scientists have "stolen" the equal sign and made it into another operator all together.
  • Meet some other smooth operators such as the ++ and the +=
  • Be introduced to W3Schools.com where you can find out even more about JavaScript.

 

This is part of the online course Programming Fundamentals offered by Computer Careers at South Central College, North Mankato, MN USA 56003.

Leave a comment

Trust Agents

cover art for Trust Agents

Trust Agents by Chris Brogan and Julien Smith discusses how to use the social networking tools of the Web to expand your influence.

Instead of the old-world way of selling by self-promotion Chris and Julien show how to think of the Web as a social structure where sharing and giving to others builds higher trust levels. They show how to listen and participate on the Web to build integrity (and business) instead of  always asking for the sale.

The book is filled with many action items  as well as good case studies describing how other people have used these techniques as a part of their own success formula.
Read the last chapter first. The six concepts of the book are summarized and it will give you an excellent overview on how to become a trust agent today.

There is a video of Chris and Julien presenting at SXSW in 2010 out on the Amazon.com website.

 

 

Leave a comment

Three Steps to Faster JavaScript Programming

There are three steps that you can follow that will help you learn how to write JavaScript faster, easier, and with a lot less frustration.

(1) Use the HTML Validator add-on for FireFox to make certain your HTML code is valid.

(2) Use the Console tab in FireBug to check for any JavaScript errors you may have in your code. This is a great way to check for misspelled variable and function names as well as missing quotes or concatenation operators "+".

(3) Finally, use the breakpoint and stepping tools in FireBug to step through your program.

This video is an in-class demonstration showing how to use the FireBug console to catch JavaScript errors as well as CSS errors. It is part of the Programming Fundamentals course (JavaScript) offered by Computer Careers at South Central College in North Mankato, Minnesota.

 

Leave a comment

HTML5, Flash, Flex – Adobe Presents an Overview

Lee Brimelow, Adobe Platform EvangelistAt the Max Adobe 2010 Conference Lee Brimlow presented "Flash, Flex, HTML5, Ouch My Head Hurts"

His June 2010 presentation did a really nice job of clearing up the confusion around Flash, Flex, and HTML5. Learn which project types are best suited to creating with Adobe Flash technology, which are best for Flex, and where HTML5 falls into the mix.

Here are some notes that I took as I watched the video:

"Anyone that can stay on top of all this changing stuff is going to be very valuable."

HTML5 is good for basic video but Flash is there when you need to go beyond that.

You need to do both: HTML5 with Flash as a fall back. That will cover all users.

Silverlight is great for .NET developers. They don’t don’t have to learn another language. He doesn’t see Silverlight as competition to Flash.

Apple has reversed itself and now allows apps converted from Flash (using CS5) in its Apple Store.

On his site http://www.gotoandlearn.com/ Lee has put together lots of tutorials showing how to use Flash. Here is one showing how to convert Flash to HTML5. (I haven’t had time to try this out myself yet. )

On minute 35:00 he starts talking about the mobile web. This is very important. A seismic shift in how we think about applications and users.

  • Lee shows a great demonstration showing existing pages and redesigning it for mobile.
  • Lee recommended this book: Programming the Mobile Web from O’Reilly
  • At minute 40:03 Lee lists several rules to help optimize an app for mobile.
  • Apps are self-contained which makes them larger. A Flash game uses the Flash engine so does not need to be so huge. Several Flash games all share the same Flash engine on the phone.

Adobe AIR is meant to be for specific applications. Here is a list of pros and cons that Lee mentioned:

PROS of AIR:

  • Faster development then using Objective C or Java
  • Animation is so much faster
  • Can also be deployed to the desktop and the browser and TV
  • Leverage a lot of existing code – Flash has been around for years. Huge database of knowledge.GridShock Game on the Android

CONS of AIR

  • No access to the native controls on the device – iphone date picker
  • Hard to replicate the native UI behavior in Flash
  • Only have access the APIs – have to wait for the AIR team to add support to new API features
  •  Can’t use AIR to create Android widgets
  • Performance. Can’t match performance of OpenGL ES

Development Platform Decisions

Android native application development –> Eclipse with Java creating an .apk file.

Android AIR applications would use Flash Builder or Flash Professional and possibly the Mobile Flash Framework –> compiled into an .apk file

iPhone app developed on a Mac using xCode and Objective C –> compiled into an .ipa file
AIR development uses same tools: Flash Builder –> compiled into an .ipa file

Native Android development is very much like writing Flex code. ActionScript 3 is very very similar to Java. If you know one you will be very comfortable in the other.

Flash is no longer ubiquitious on mobile. Not like the desktop

Android has a larger market share then iPhone. Globally Symbian is much much larger then all of the players.

In the closing Questions and Answers Lee mentioned that one of the most important thing to learn is jQuery for cross-browser compatibility and animation.

Leave a comment

Book Recommendation

 

 

Patterns for Improving the User Experiencexxx

 

 

Patterns. They are so useful because we design things to do similar tasks over and over. Like a login screen. This book is filled with best practices and patterns on how to create a great user interface.

I first heard about this book while listening to a podcast with Christian Crumlish, Erin Malone, and Jared Spool as they discussed UX (User Experience). They talked about use patterns and how these can be applied over and over for a better user experience as part of the User Interface Engineering podcast series.

Christian and Erin have written a very readable volume that is indispensable for anyone creating software, especially if it is a social-based web application.

Each pattern has colorful examples describing the what, when, how, why as well as accessibility issues to be aware of, related patterns, and a list of example web sites. There are lots and lots of excellent screen shots showing how the pattern is used out on the Web that flow in and out of the text just at the right times.

The authors also include several anti-patterns: things that don’t enhance the user’s experience. These are just as valuable as the useful patterns. As you read about each anti-pattern you’ll say "Yes, I find that so irritating when ‘they’ do that."

Other experts have been invited to the party as well and each chapter is interspersed with short articles that go into greater depth.

This information could be SO dry, and it originally was, but Christian threw out the first two versions and wrote the finished book in a talkative, friendly, fun-to-read manner.

I’m enjoying the read and am already using this as a reference as I talk with people about their web sites and what they want to accomplish.