oscatholic's blog

Catholic News Live - Simple iPhone App for Catholic News

About a week after completing work on the first release of the Archdiocese of St. Louis' "Catholic STL" app, I decided to spend a few nights and weekends working on a more personal project...

A few months ago, I was browsing the App Store, looking for a simple Catholic news app where I could quickly browse through the latest Catholic news from a relatively comprehensive array of sources. Seeing none, and realizing that my experimental 'Catholic News Live' website already had the data I needed to build my own app, I decided to port some of the code from Catholic STL, and write my own app—Catholic News Live, or CNL for short.

Catholic News Live App Icon Continue Reading »

Creative Marketing by Microsoft at DrupalCon Chicago

As seen at DrupalCon Chicago (in the program book):

Web Developers - We are very sorry for Internet Explorer 6 - IE9 Drupalcon Ad

I think the IE development and marketing team at Microsoft 'gets' the situation, and is being very creative about it's efforts in promoting IE9 (case in point: IE6 Countdown). As to how far IE9 will ultimately go towards stemming web developers' collective hatred toward Explorer as a platform... that remains to be seen.

The ad above reads:

Dear Web Developer,

We are so very sorry about IE6.

Come have a drink on us at the Opening Night Party. Also, stop by our booth #67 and we will show you why IE9 is way better.

In my own testing of IE9, I've found it to be about on par with FireFox in how much I'd recommend it to users over any other browsers... that is to say, Chrome/Safari is still better, but I no longer need to tell people they should switch—IE9 is good enough for regular Internet users.

The only thing I really, really hope Microsoft starts doing is taking a more Chrome-like approach to adding in little bits of HTML5 and CSS3 goodness (and fixing some bugs) with point releases, rather than waiting 3-5 years for another IE release! (Of course, IE9 isn't released yet...).

What does this have to do with Drupal?

Observing Microsoft's recent inroads in the Drupal community (making sure Drupal runs well on IIS and Windows, and supporting the Drupal community here and there, for instance), I think Microsoft is doing a pretty good job of approaching an open source community with open arms, and changing people's minds (slightly) about their products and offerings.

For example, a couple years ago, there was no way I'd consider hosting a Drupal site on IIS. With Drupal 7 and a good hosting provider/server setup? Definitely.

Beautiful, Easy Maps in Drupal using Views and Mapstraction

I've been asked about the Archdiocese of St. Louis's online parish search mapping functionality enough times that I finally made a quick video walkthrough of how it was done. The video below explains it all—basically, we use the Location module to attach addresses to nodes and geocode (get lat/lon) the addresses, and we use Views + Mapstraction to make the spiffy maps all over the site.

The functionality was originally set up by the kind folks at Palantir, and tweaked a bit over time by me to make what you see today.

You can watch the video in HD on Vimeo, to see fine details. (Recorded with iShowU HD).

OpenID Disabled for OSC Site Login

Amongst a few other architectural changes on the site (disabling some unused modules, cleaning up code in our style files a bit, etc.), I have disabled the OpenID module on the website, meaning the one or two users who were using that for login can no longer do so.

To those users who are now having trouble logging in... email me with your account name, and I'll set up a password for you.

The reasons for doing this are twofold: 1. Only .5% of our users were using OpenID logins, and 2. The module wasn't working that well anyways.

"The Apps of the Apostles" - Gadgets for God

Just found these gems on the Ship of Fools.com website:

The Apps of the ApostlesParticularly of interest:

Any other great Catholic apps of the fun variety on the iOS or Android app stores?

Catholic Calendar as First App in 'Lifestyle' Category on Mac App Store

Today I was browsing around the Mac App Store, glancing around to see some of the Apps available a few days post-launch (I didn't do this earlier because I was working on my own app—more on this later).

What I found surprised and elated me:

Catholic Calendar Mac Store App in Listings

Looks like the 'Catholic Calendar' application, developed by Universalis, is shown as one of the featured 'Lifestyle' applications, and is even the icon tile for the Categories overview page.

It'd be nice if the app had a more Catholic icon (the Latin text just doesn't set it off for me... look at the other icons - most of them are very simple/pleasing, and convey more meaning), but I'll take what I can get!

Does anyone else have a Catholic Mac App out there yet? Additionally, does anyone know who works with Universalis to keep on top of the game in this area? They've been doing a smash-up job lately in the mobile and desktop application world, amidst a field of thousands of other apps.

Mobile Device Usage on Different Websites

I have recently been advancing my work in mobile theming and architecture for a few different websites, as I agree with many others who have said before that the web will become mobile (meaning it needs to display equally well on a smartphone, a tablet, and the desktop) in the next 5-10 years... and we need to be ready for that!

Here are some device usage statistics for the past month on a variety of websites I maintain (I only mention the top three - Blackberry, Symbian, etc. are too low to worry about them at this point):

Archdiocese of St. Louis

  • iPhone - 1,253 visits, 2.43 pages/visit
  • Android - 434 visits, 2.76 pages/visit
  • iPad - 296 visits, 3.98 pages/visit

St. Louis Review

  • iPhone - 479 visits, 1.74 pages/visit
  • Android - 171 visits, 1.57 pages/visit
  • iPad - 148 visits, 2.45 pages/visit

New minimalist theme released for Drupal 7 - MM

About a year-and-a-half after releasing my first contributed theme for Drupal, Airy Blue, I have finished and release my second contributed theme, MM - A Minimalist Theme.

Minimalist Theme Screenshot

MM is my first HTML5 theme, and my first for Drupal 7 (which, by the way, is awesome!). I have been working on refreshing my LLC website, Midwestern Mac, for the past few months since I scrapped my first hacked-together theme from about 2.5 years ago, and I finally decided to take the plunge and go Drupal 7 for the redesign.

MM is based on Boron, an HTML5 base theme that is still in beta for Drupal 7 (thus, I can't have a final release of my subtheme until Boron is final as well).

The theme has a few nice features:

  • No images whatsoever (cuts down on page load times, since there are less resources to load).
  • HTML5 markup (tested in IE7-9, FF 3+, Safari 4+, Chrome)
  • Progressive enhancement - we're using box-shadow, border radius, and some other CSS3 elements that only work in newer browsers at this point.

I figured I'd like to help get more themes on the docket for Drupal 7's release—right now there are very few, and I think it would be nice if people downloading D7 and wanting to tinker could have more than two or three themes to play with.

Plus, it's just a nice thing to do for an open source project that has given me a career.

Online Calendaring: FullCalendar.js

In my always-continuing quest to find the perfect online calendar display/management solution, I have found the next level of calendar display/management bliss.

Previously, I was pinning all my hopes on Drupal's very robust, but often complex and confusing, Calendar.module (in use by almost 50,000 websites—and for good reason—it's extremely adaptable). The module provides many different displays, and gives you the ability to link directly to a specific day/month/week... but it (a) is relatively slow to allow switching from month to month, (b) requires a rather complex view, with arguments, which can be confusing for first-time users, and (c) it takes patience to theme it well.

I love the Calendar module, and I still use it on a few sites where necessary, but I've found a new contender that has nothing to do but improve; that condender is the FullCalendar module, which is based on the great fullcalendar.js jQuery-based calendar library by Adam Shaw.

Fullcalendar Display
This is IE. It's easy enough, though, to add better styling to a fullcalendar.

FullCalendar is simply a views display that takes a list of event nodes (as long as your node has a date/time attached, it will work), and displays them in a beautiful calendar display that works across all modern browsers, and even most mobile browsers (I've tested Android, iOS 4, FF, Chrome, Safari, and IE so far).

I had a little trouble getting the calendar to display in IE6/7, but I supplied a quick patch to fix that issue.

One thing I have yet to test is the performance of fullcalendar when displaying large batches of calendar items (in this case, calendar.module might be better—if you need to show thousands of events on a calendar from many years prior). The biggest calendar I have right now displays about 200 items. As time goes on, I could either simply let the list build to the point where fullcalendar slows a bit, or limit the date range so events from only the past few months show.

Embedding a 'Related Content' block in your Drupal nodes

Many of my favorite websites offer a nice little feature, immediately following the body of the page, that highlights 3-5 "possibly related" stories or blog posts. I wanted to do this on OSC and some other sites, but found that it's difficult to add regions inside of nodes—the closest I could get with the default theme/block behavior is to have it appear after comment section, which is too far down the page to be relevant.

I decided to use the Featured Content module to create my blocks, as it offers a good amount of customization as to what kind of algorithms it uses to find related nodes... performance considerations aside. There are other ways to go about creating lists of related nodes, but this was quick and easy.

Adapting a solution I found here, I created a simple function inside my template.php file that allowed me to print a block from inside my node.tpl.php template.

Inside template.php:

<?php
/**
* Helper function for retrieving block code for insertion into templates.
*
* @see http://drupal.org/node/753516#comment-2769068
*/
function osc_block_retrieve($module, $delta) {
 
$block = (object) module_invoke($module, 'block', 'view', $delta);
 
$block->module = $module;
 
$block->delta = $delta;
  return
theme('block', $block);
}
?>

Inside node.tpl.php:

<?php
 
<?php if ($page): ?>

    <div class="block-in-node">
      <?php print osc_block_retrieve('featured_content', '1'); ?>
    </div>
  <?php endif; ?>
?>

I chose to rank related nodes first by similar taxonomy terms, then by how many views the node received (I'm using the statistics module on this site).

Alternatively, you could do one of the following to accomplish the same kind of thing:

  • Set up a region inside your nodes, in the node.tpl.php file. This seems to be a little burdensome, though, unless you're planning on doing many different things inside said region(s).
  • Use the Panels module to add blocks inside of nodes, or in a different kind of page layout.
Syndicate content