I kind of like the interesting combination of modern aesthetic and functionality exhibited by this sink that I saw at a WalMart restroom recently. A single piece makes installation easy, the two levels make it easier for kids and adults to use, and the slope ensures that standing water drains off. Not the prettiest thing, but I was impressed by the effort that some design engineer put into it.
I begin this post having spent almost no time looking at what options may already exist. However, I see the need for a piece of software (preferrably open-source) that could accomplish some of these tasks:
- Manage church events and calendar items (ideally through interaction with a solid interface like Google Calendar, 30 boxes, Airset, etc.). Would be nice if event planning could include RSVP-type capabilities to alleviate manual planning (e.g. "Are you attending this Saturday? Click here...").
- Management of scheduling/duties at a church (Similar to many calendaring options but perhaps a little more "duty roster" focused). Some features might include automatic rescheduling via email (replying with a "cancel" to an event would trigger a notification to admins to find a replacement -- that sort of thing)
- "CRM"-like capabilities for sending emails, announcements, etc. to the church body while providing church leaders with the ability to make notes, add prayer requests and other very church-specific type features.
- Some sort of document management (possibly again through simple integration with an existing, reliable document management source) for things like procedures, newsletters, meetings, etc. as well as every-week things like bulletins.
- Newsletter options -- email and web version of all "newsletters". Providing users with the ability to opt-out of email listings but also view old newsletters archived on the website
- Audio handling. Some interface that would streamline the ability to upload and manage sermon/lecture/class recordings that doesn't require too much technical knowledge.
- Budget-related financials -- not a full-blown piece of accounting software, but that something that could provide instant feedback to leadership on details of the budget and perhaps summary information to members.
- Online church directory (not public)
- Private portal (I know "portal" is such archaic jargon) -- but some sort of interface that would allow more insight to member-only items (like the church directory) as well as details like Annual Reports, etc. that may not be intended for the public.
Some of the design goals would include:
- Lightweight -- keep it simple and straightforward
- No "registration" required -- most features would be available to members even if they don't want to register on the site.
- Solid and reliable authentication
- Extensible -- I'd be building this for our church, but it would be nice if the concerns of both larger and smaller congregations with different leadership styles could be taken into account.
- Possibly integrated into an existing CRM (like WordPress) as a plugin.
I have always been a stickler for functionality in my programming. What I seek to do is develop solutions through code that model existing efficient functionality or create entirely new abstract models that can be understood clearly and manipulated easily to achieve functionality.
I'm not a "GUI guy" and I have a hard time when I move from developing an easy-to-interface class library to an easy-to-use user interface. Basically, I seem to have no trouble with the idea of adequately describing objects (even abstract objects) and developing easy interfaces. However, displaying this information to a user is harder.
I'm a big fan of simplistic interfaces. I like my new virtual server provider and my new domain registrar because both sites are simplistic. They have well-defined functions and they present the information in easy-to-understand lists. You don't have to grasp some complex object model or understand what the difference is between clicking on "My Account" and "My Hosting" or some bizarre thing like that. It just makes sense.
Now, at the same time, both these sites (and I love them dearly) are rather ugly. I myself don't mind this at all. They're functional and they feel right -- like a solid metal tool in my hand, it doesn't look pretty but I thoroughly enjoy using it.
The intersection of functional code and beauty to me is pure happiness. However, beauty is, or at least is often regarded as being in the eye of the beholder. And on the Internet, there's a lot of beholders.
I'm reminded of the site CSS Zen Garden; it allows you to view the same material using many different style sheets. There's some beautiful graphics and layouts but at the same time the actual content never changes (you're simply switching stylesheets). I like this a lot. Beautiful websites are great but beautiful websites where the presentation is perfectly separable from the content are wonderful. I know this isn't really "functionality" but it allows the opportunity for such. With this concept, you can develop extremely functional content and then alter the stylesheet to present that functionality in a myriad of ways.
I actually did something like this (but very simplistically) for our family website. I have a stylesheet for each month and every month visitors are presented with a different stylesheet by default. It helps keep the site from feeling old and boring to myself and to others. The functionality is always the same (very plain-vanilla WordPress functionality)
There's a lot of this sort of thing happening on the Internet and there are plenty of good, clean websites with very solid and well-thought-out designs that provide excellent functionality. But it's not really the norm I wouldn't say.
My new iPhone to me is an example of combining functionality with beauty. It's not quite as functional as I would like but it's much better than what I've had in the past. The interface and presentation of material though is absolutely wonderful (like much of what Apple makes).
I guess my rambling point is that popular success seems to lie at the intersection of functionality and beauty. Allow users to aid in defining beauty (through open and customizable interfaces) and you've added even more value.
I'm revving up to produce some new web applications (and possibly an iPhone app if I can find the time). I think my biggest issue is that although I feel confident making functional applications and making them have customizable interfaces, I'm pretty lousy at developing anything more than the most simplistic presentation. I've picked up some books on design so maybe I'll actually get better at it. We'll see... more to follow as I pursue this.