For my websites I have been using the Spry Horizontal menu system. Although this makes it easy to add in menu items and links, as with any menu system, if it is in every webpage that becomes a burden if you should need to make a change to a single menu item. That would require making the same change on every page.

I also wanted to have a separate image header at to top of the webpage that changes with the section I am in.

I accomplished both things by using this approach. For reference go to the website http://www.ultracycle.net

In the main folder I have these files

  1. index.php
  2. header.php
  3. header.jpg
  4. footer.php

The header.php is the file that contains the HTML code for the image at the top of the page (using a relative address) and all the code needed for the Spry Menu. The header.php file has no <HEAD> tag, just the lines of HTML that are needed. I started with a full page with the <html> <head> and <body> tags, and started to delete all lines of code that were not clearly needed and I ended up with header.php.

The index.php file uses an include command as follows:

include (“header.php”)

The header.php file already has a link to the local header.jpg file. I use a similar approach to include the footer.php file.

For each section I created a separate folder. One is called “train” for long distance cycling training webpages.

In there are these files.

  1. header.jpg
  2. index.php
  3. individual pages, all php files.

The index.php (and the other files there) all use the same include command but in this case it is:

include (“../header.php”)

and

include (“../footer.php”)

Not that this header.php will use the jpg file found in /train/header.jpg since in that file I use no relative reference. So when I run the file \train\index.php it accesses the header.php file in the root, which uses the local JPG file, and then of course has the body of what desired for that page. It also uses the footer.php file.

The index file looks like this:

<html>
– usual stuff here
<head>
– usual stuff here
</head>
<body bgcolor=”#64748B”>
<?
php
include (“../header.php”) ;
?>
—- then the code for the page —-
include (“/footer.php”)
</body>
</html>

By using this approach I only need to change the content that is unique to that page, which goes between the include for the header.php file and the include for the footer.php file.

I believe this approach will make it much easier to create new content and keep existing content up to date. To create a new page I have a template that has the includes to the header.php and footer.php file and a table in between the two. I just paste the new content on table. It will use the appropriate JPG header image, depending on which folder it is placed in. By using this approach I have reduced the create of new webpages to be only content that is unique to that page and yet when the page is viewed in the browser it has the header image, the Spry menu, and the footer images and links.

This file will show you what it looks like.

http://www.ultracycle.net/monitor/hrm.php You will see different header image than if you go to the main index page at:

http://www.ultracycle.net And yet both pages are using the same header.php file included in the code.

I plan to use this approach on other websites. It takes a bit of work up front but saves a lot of time going forward.

The superiority of the Mac operating system continues to impress me. Having been a long term user of Windows, back from version 1.0, I have all but abandoned it for the Mac. I have used my Mac Book Pro for over one year now and have no intention to return to Windows. I do website programing in PHP and wanted to install PHP locally so I can do testing without the need to FTP files to the web server. I found out that Mac OS X 10.5 (Leopard) comes with both Apache 2.2.6 and PHP 5.2.4 pre-installed, but they’re not enabled by default. I found these instructions from Foundation PHP on how to get it up and running.

The first step was to download the free text editor TextWrangler (a free, cut-down version of BBEdit available from www.barebones.com). Using this editor I made one change in a single file. Next the instructions required use of the terminal to copy the php.ini default file, then I could use TextWrangler to edit it with a single change. In the Mac system prefrences I then enabled web services and was done. I created a test PHP file and ran it in the browser as follows to verify both Apache and PHP were working.

http://localhost/test.php .

The PHP information page came with this header.

PHP Info Header

The instructions were easy to follow. At this same site are some other tutorials. I plan to buy the book written by the author of this site called “The Essential Guide to Dreamweaver CS3 with CSS, Ajax, and PHP” because the author shows how to use an include for the Spry horizontal menu. One issue we have in a complex website is how to have one source for the menu system so changes made in one place will appear on all pages.


FranzKelsch.com Header

In my prior post I discussed moving my WordPress blog for endurance sports off of the main domain to a subdomain. That allowed me to use the main domain franzkelsch.com for a website. In the past I had used websites for some of my main domains, including this one as well as kelsch.com.

The problem with personal websites is they get out of date and updating them with current information often gets neglected. An example of this is my other family website kelsch.org which needs an overhaul.

Because of this issue of personal websites getting out of date I have moved to using blog software, such as this post, to make new entries. I use WordPress software on my personal domains for that purpose and I had converted the URL franzkelsch.com to a blog focused on my endurance sports and kelsch.com to a blog about the family. That has worked well, but I still missed the ability to format a website and add in links and other information that does not need to be updated frequently.

After some experimenting with work I was doing on the bicycle club website, I realized I could create a website and use RSS feeds from my blogs to keep the website up to date. So I moved my blog to a subdomain and created a brand new website on franzkelsch.com that takes RSS feeds from four blogs.

Blog RSS Feeds

I used the same technicquite with a RSS feed from our photo galleries at SmugMug.

FranzKelsch.com RSS from SmugMug

Now I now longer need to maintain this website, and just let it be populated with the feeds. As I create a blog entry, such as this one, or create new photo galleries, my personal website will always be up to date.

As part of this overhaul I decided to segregate my posts into four different blogs, family, endurance sports, computer and photography. It may be a bit of overkill, but it does replicate what I use to do in terms of personal websites when I had one for each of those categories. I still maintain other personal websites dealing with endurance sports. One is swim2bike2run.net and the other is ultracycle.net. I need to decide what to do with these.

I usually create a family picture calendar each year for ourselves and each of our family members. I started the tradition some years ago when I would create individual pages and print them in color on my ink jet printer. I would then hand assemble the pages and take them down to Staples to have them bound. Last year I used an online service which worked rather well but it took a lot of time uploading individual pictures and it was hard to see how it really would look. This year I decided to try the iPhoto program on my Mac. It was the slickest experience ever for creating a calendar.

I first went through all the 2007 photos I had and selected about ten times more than I would eventually use. For each month you can select a template from 1 to 7 photos. The photos I had preselected all appear in a bar on the left and you just drag them to the picture area. You can add any text to the calendar portion. When we were all satisfied, we just clicked the Buy Button. It assembles everything and uploads to Apple for printing. This screen shot shows what it looked like inside iPhoto (click to enlarge)

Creating a Calendar in iPhoto

Printing a Blog

No comments
Printing a Blog

I in the processing of creating several blog entries at our family blog for our recent vacation to Europe.  We went on a cruise with some friends and they wanted to know how to get a copy of the entry.  I had not thought about that before being a peson who has evolved to hardly ever printing anything and doing most things online.  A little research showed a great WordPress plugin called “wp-print” that did the trick.  You can add a link at the bottom of the entry that the viewer can click on get a print friendly view of the blog. This is much better than just using the browser to print since you would lose any styling from the CSS.

I doubt I will actually print things to paper, but I did experiment and used this method to create a PDF.  That is a great way to archive your blog entry.  Things online tend to disapear with time.  Who will keep up some blogs year from now.  If you are blogging as way to keep a history, this might be a good way.  Here is an example of a PDF I created for our visit to Florence.  I trimmed many of the pages from the PDF to reduce the file size since this is only for illustration purposes since the full 13 pages, with photos, produced a 7.5 mb PDF file. Florence and Pisa Blog PDF

Want to try it out, click the link below for this blog entry.

Print This Post Print This Post

While we were visiting Sara I grabbed her 2007 photos on a small external hard drive I had. She had arranged them in folders with folder names for each event. When I brought them into iPhoto each folder was added as an event and the event name was set to the folder name. Real neat! Each event in iPhoto shows up in reverse chronological order (I set for the most recent on the top). This is what it looks like for part of the iPhoto screen. In iPhoto I just click any event to see all the photos inside, but don’t try this on this website since this is not iPhoto, just a screen capture of it.

Click the image below to view full size.

Example of iPhoto 08

Adobe Contribute

No comments

I am creating this blog using Adobe Contribute 3, which was included in the Adobe Creative Suite 3 Wed Premium edition that I recently installed. It allows me to create blog entries off line, then upload them to the server. Previously the entries were all made through a WordPress provided webpage on my server.

Cotribute 3 can also be used to edit webpages directly, but I will most likely continue to use Dreamweaver for that since I prefer to keep the original on my local computer and publish to the website. Here is what the screen looks like as I am creating this blog.

iPhone Limitations

1 comment

I am glad I bought the 8 Gb version of the iPhone since I have nearly filled up that space now.

iPhone Capacity

The video includes two movies and several video podcasts. The audio includes my 4 and 5 star rated music and many audio only podcasts. The photos include all my photos I have in iPhoto for 2007. I am sure they will have a 16 Gb version of the iPhone soon since they are now offering that in the new iPod Touch. I don’t think I need a hard disk based iPhone like some want with 80 Gb. That would defeat the function of being slim enough and long enough battery to use as a phone.

Another limitation that I am finding is Apple’s approach of not allowing the installation of programs by 3rd party developers, except what they can do with Safari. I just think there would be a lot of neat little programs like were developed for Windows Mobile, that would be useful. On the top of my list would be a real version of Skype and a version of Slingbox player. They have a version of the Slingbox player for Windows mobile, Windows smart phones and Palm phones. But all of those allow the installation of a program. Currently with the iPhone the only thing a developer can do is host something on a website you browse to with Safari. Considering that Apple claims the iPhone is running OSX, it should not be difficult for them to open it up. Their claim about security is most likely a cover for what they really want, and that is to control everything, typical of Apple.

The final limitation is the use of the AT&T Edge network. When I am at home it uses WiFi which is fast. But Edge is slow. But I had that on my old Windows Smartphone so I guess I am not sure what I am missing.

Even with those limitations, the iPhone is by far the best phone I have ever purchased and I continue to be amazed by is capabilities. The user interface is outstanding.

Hre is an update to the post about buying a new iPhone, after I have had a chance to use it for a few days. On Saturday, I broke down and finally bought a new iPhone. After Apple reduced the price of the 8Gb model by $200, it seemed like a good deal. My existing phone with AT&T cost me $20 a month for the data plan (with no text messaging) and the new iPhone data plan is the same cost, so on a monthly basis there was no increase in costs, plus I get 200 text messages included. There is just no comparision between my old Windows Mobile phone and the new iPhone. I can actually use the iPhone for email and web browsing while that old phone was almost worthless for that. I actually don’t use my phone as much for voice calls as for data, so it made a lot of sense to go with the iPhone.

I have now had a chance to use the phone for a few days and clearly state that this is by far the best phone I have ever used, even exceeding the Blackberry phone that I had while I was working. I would even go as far as to say it is the best user interface on any device I have ever used.

My previous phone was a Cingular 3125. It had Microsoft Mobile 5.0 on it but had a regular cell phone keypad. It was very hard to read email messages on it and for me to send a message meant only a few words. I did like the slim design. However it got poor reception. When I complained about that initially, the Cingular store said it was just our local town and since I was new to Cingular, I was not sure. But with the iPhone, now on the same network, gets 4 bars of reception in the exact same place my old phone barely could get one.

The iPhone is the first phone I have ever seen that browsing the web is at all practical. Sure it is not as useful as a regular computer, but you can’t put a computer in your pocket either. The fact that it uses WiFi is a big plus since the Edgne network can be slow (as I already knew from my old Windows Mobile phone). It would have been nice to have the iPhone use the new 3G network, but for me I rarely would be in a place to take advantage of that at this point in time.

There are tons of reports on the workings of the iPhone so I will stop here and just say I am very pleased with the phone. I just need to learn to type on the touch sensitive screen that has no tactile feedback. I am improving but have some ways to go. Apple has once again taking a mature market and turned it upside down.

I wrote previously about installing iLife ’08 on my Mac and have now had a chance to play around with iPhoto ’08. I even went as far as importing all my family photos into iPhoto. However I setup iPhoto to not bring the photos into the iPhoto library, for a very good reason. I first experimented having iPhoto bring in the photos but the file size of the iPhoto library grew to 18 Gb because there is a single file that contains all of your photos and other data that iPhoto needs. This is different than older versions of iPhoto.

While this may have some inherent advantages, there is a big disadvantage. It means that if you add a single new photo that big huge file gets changed. So what happens when you do a backup of your data, as I do daily to an external hard drive? The entire 18 Gb file gets copied, instead of just the new single 5 mb photo. After realizing this, I started over and set in the perferences to not copy the photos to the iPhoto library. I just keep the photos in my own structure as follows:

2000-2009, with sub folders 2001, 2002, etc. So I group all photos by year.

iPhoto doesn’t really care where the files are stored or in what structure, it imposes it’s own framework. I find this to be the best of both worlds since I can use the Finder to get to a photo if I want, or use iPhoto. I still get all the benefits of iPhoto, including the Events structure.

So when I first open iPhoto it looks like this (click to enlarge):

iPhoto 08 Events

When I first imported the photos, I brought in all photos by year, and that created a seriest of events labeled 2007, 2006, 2005, etc. I opened each year to see all the photos for that year. I then used the neat Split feature in iPhoto 08 to split the photos into events. You can see how this works in the image below for 2005, where I have yet to split into events. I select the photo where the event needs to split then click the Split button in the lower left. It divides the 2005 photos into two events, thos above into one event, and all the rest into another. I enter the label for the event of the photos above that I had just split off of the rest and then I then work my way down and create additional events.

Splitting photos in iPhoto to seperate events

As I use iPhoto going forward, it will create new events for new photos I bring in, making all photos taken the same day under one event (you can change this setting).

You can also use iPhoto 08 to edit your photos, including adjusting the curves as shown below. I find I can do most of the editing I need right inside iPhoto and only need Photoshop for the more tricky stuff.

Edit Photo in iPhoto

So in summary, I like iPhoto ’08, as long as I don’t have it import the files into it’s own library.