P'unk Avenue Window

Archive for March, 2009

Make That Scrilla

March 27th, 2009 by Rick 3 Comments

I want to tell people how to run their businesses. Like agency Crispin Porter + Bogusky’s irreverent consulting for Burger King—the ads featuring the King with the plastic head, the motocross chicken video game, talk of them writing a movie staged in an apartment above a BK, inventing new menu items and dictating their prices, Meat on top of Meat on top of Meat—I want to help a bank remap their offerings and help them be profitable in a post-apocolyptic banking universe.

bankcharts

1. One may have a rapport with his or her Bank Teller, but waiting in line at a bank is the worst. It’s laughable that for all the digitalization of commerce we spend a reciprocally large amount of time waiting for tables at restaurants, in the checkout line, the DMV (all of whom’s business could be conducted online), and so forth. Lines at those irreplaceable real world venues are getting longer. With regards to banking, ING has been quite successful at being paperless/branchless/painless. Unless you need to pay bills online…

2. Banks need the best websites. Intuitive e-billing, better graphs, trending, pdf creation. I use PNC bank for checking, their Bill Center is only OK…

3. It doesn’t make it easy to have a free overdraft protection solution (you had to pay to open ANOTHER credit card, I gave up). My various accounts (checking, savings, money markets) are unlinked. When I give them my money they put it in one large pool, why can I not do the same…

4. My main recommendation is to allow for account partitions. Instead of thinking in terms of Checking, Savings, etc. I should have one pool of money. If this is tricky under Government banking regulations, simply allow it to be visualized in this way. It should all earn the same competitive savings interest rate (ING is currently a cute 1.5%). It should be partitioned into custom pie slices: rent/mortgage, bills, tax savings (if you’re a 1099er), personal savings, pocket money, and any other useful partitions. Give me a simple interface to adjust partitions or add new ones. Perhaps I’d like to split my savings into rainy day and vacation funds…

5. Give me a line of credit and a credit card based on my cash flow. Make the rate fair and adjustable based on my payment schedule. If I don’t feel slighted by rising rates or bully late fees I won’t jump ship and get a new 0% card every year…

6. Incorporate the better features of Mint—comparative graphs and charts of my spending each month, long and short term trends. Don’t make me think, show me where my money is, what it’s been doing, why I should give it to you…

    IDES 322: Forming & Storming

    March 26th, 2009 by Alex 1 Comment

    Today we will be reviewing and critiquing videos from last week’s assignment. Looking forward to seeing some good stuff.

    With this class we are going to move towards the end of the semester, setting the groundwork for your final project. Now that you have established some familiarity with these tools and techniques, we want you to begin to think strategically about how they could be used together for a specific project. You will ultimately be coming together to form groups around the Urban Farming project you are already working on together. Your task will be to document and promote, to get feedback and build community, to gather interest around this larger project. Think about which tools will be best for the job, and how they can be used together most effectively. Think about where it makes sense to create new accounts/identities/profiles specifically for your project.

    When it comes to the topic of identity, you should be considering about how your individual identities can come together harmoniously to create a group culture and group identity. Your project should have a personality of its own. We will assist you in creating a custom blog template to provide a unique visual design for your publishing platform.

    Each student will have an account to publish their individual contributions. Categories will divide the blog into the six subtopics of your Urban Farming project (grey water, hydroponics, green building blocks, shipping containers, community graphics, and the food cart). You will operate closely with your subtopic group to create and publish content. We will refine the details and deliverables as we go.

    Week 8

    WATCH:

    • We will watch the Hillman Curtis Pentagram video above in class.

    CHECK OUT:

    • Modernista’s web presence. They are a creative firm leveraging ubiquitous internet tools without a central website. Consider this as you upload photos to Flickr, videos to your video accounts, etc.

    STRATEGIZE:

    • Break into your six groups and begin thinking about documentation of your projects. Create Flickr groups, determine a set of tags, think about the design of the project site as a class. We can begin the design together. Next week we can help you set up a hosted Wordpress with a custom domain.

    Designing While Intoxicated

    March 20th, 2009 by Rick 1 Comment

    stats

    To put a weary metaphor to rest, I will do my best to never again refer to absorbing the internet as drinking from a fire hose.

    At first I was reluctant to use Google Reader. Alex and John convinced me it was the civilized way to keep up with blog reading. I bought in and bought hard. I really love using the j and k keys to motor through unread posts. It’s something like elective torture a la A Clockwork Orange. I don’t even need those eyelid clips.

    This has been an ongoing conversation lately among my peers. Are there repercussions from letting all of this stir together? I actually read/browsed/scanned four thousand items in the last four weeks. That doesn’t count links emailed to me, the New York Times, images shared in our work chat, and anything from real life. I still have some idea of “my visual style” and “my personal politics” at the end of it, but I feel wary.

    Searching for influences in a piece of design used to be something like spotting a familiar sample in a Public Enemy song. Now, I find, it’s more like trying to keep up with the stream of provenance in Girl Talk.

    A newish field of art has recently sprung a leak from the hose (last last time, I swear). I don’t know if it has a name, but it’s similar to the hybrid Curation Is Creation idea I mentioned a few weeks ago.

    Joachim Schmid spent years as a photo archivist and collector of found photography. More recently he has turned to searching Flickr for torrents of images sharing uncanny visual similarities. Self-portraits of feet, plates of food, objects shot in harsh flash.

    Penelope Umbrico has made several similar bodies of work, one including thousands and thousands of Flickr sunsets. Another consists entirely of the flash reflected in television screens for sale on Craig’s List. The prints were then sold on Craig’s List for the asking price of the original TV. I bought one of those, it’s nice.

    In some ways this is all very exciting. All of this information flows over me and it’s warm and fuzzy. I’m less confident, however, with my retention. I star/delicious/share the good ones, but they are buried nonetheless. I suppose it’ll just be refreshing to leave it all behind and retire to a mountain house some day. It will have very little furniture, and plenty of books that take a month to read.

    This post was going to be called Designing Under The Influence, but I realized that sounded familiar for some reason.

    IDES 322: A Day In The Life

    March 19th, 2009 by Rick 10 Comments

    With everyone well-rested after the break, we will be reviewing your instructables and gathering feedback about your experiences putting work out in the world. Our hope is to have the presence of an audience motivate the work and create a larger conversation about Industrial Design, getting you interacting with the community outside school. This theme will continue to the end of the semester (and hopefully beyond). We love to see your work getting in the spotlight, Wes, Jesse, and Elissa were featured on the Instructables homepage. These things work.

    After wrapping up with Instructables we will discuss the assigned readings regarding Personal Identity. We are all constantly broadcasting information on a number of wavelengths. What you say, how you say it, to whom it’s said, what you wear, how you wear it, how you spend your free time—these things aggregate to become your social persona. When you all become famous that social persona will become a personal brand.

    We would like everyone to pay a bit of attention to what they are putting out in the world beyond their design work. For next week you will be creating “Day in the life” videos that shed some light on the men and women behind the work. Document the things you communicate to the world, how does that communication relate to who you strive to be? Essentially, the videos should communicate a “How to be me” thesis. All videos will be edited to one minute in length and uploaded to your video accounts. Embed the videos in your blogs and share a few reflections on the experience.

    Week 7

    CHECK OUT:

    • Cargo Collective: a new portfolio site platform. You will need to apply for a beta account, but you might like this better than Coroflot.

    CREATE:

    • A one minute “Day In The Life” video documenting your daily experience as a member of a community, and a designer. Upload it to your video service account.

    COMMENT:

    • Embed your video in your blog, write a short post providing some context for your video and reflect on the experience. Feel self-conscious.

    Ticket System Poetry

    March 18th, 2009 by Geoff 1 Comment

    Sometimes in the middle of a work flow, I experience a moment of that is more akin to reading poetry.

    This is a perfect example. I opened a ticket asking John to add a formatting bar to the rich text slot in Context CMS.

    Ticket

    He responded with this:

    Ticket Response

    The elegance and clarity of the response along with addition of the table feature over delivery stopped me in my tracks.

    Cloud Computing: Defending the Undefinable

    March 17th, 2009 by Tom No Comments

    My notes from the 2009 Cloud Computing panel at SxSW Interactive. My own research seems to dominate the comments below… oh well, it’s useful stuff!

    Cloud Computing: Defending the Undefinable

    The brave new world of cloud computing is radically changing how we build web applications. What is a platform, what is a service, and how will the future of web applications be built? More importantly, how do these various clouds compare, and what do the differences mean? Are they ready for your world-rockin’ startup? In this panel, we’ll get nerdy with technical details, you’ll yell at us, and we’ll argue why your app should already be in the cloud.

    Kevin Gibbs Tech Lead & Mgr Google App Engine, Google App Engine

    Yousef Khalidi Distinguished Engineer, Microsoft

    Werner Vogels CTO, Amazon.com

    Google App Engine is Python-specific right now. The implication is that it’s a very high-level abstraction, not a mobile linux instance with root access or similar as in the EC2 world.

    That means Amazon is the only realistic choice for a PHP shop right now.

    An early EC2 management console in PHP:

    http://developer.amazonwebservices.com/connect/entry.jspa?externalID=442

    “But now you don’t host Amazon on AWS.”

    “Yes we do.”

    “But when AWS goes down, Amazon doesn’t…”

    ”… We launch new instances on the fly etc. It is absolutely hosted on Amazon Web Services.”

    http://aws.amazon.com/what-is-aws/

    Gibbs, Google:

    “Make your front end code stateless and your back end code stateful.”

    “Our database system does not support joins. That’s something we removed in order to help you scale… joins break scalability.”

    Tom: in Amazon you can run instances of MySQL if you feel like it, but you do run into these issues.

    Why are joins evil for scalability? Because when you select against a single table, it’s easy to say “okay let’s sling this query against all four database servers and bang we get an aggregate result back and we’re done” or, even better, “we know the ID being asked for is on a single db server so all of the work can be completed there.” But joins complicate this because they require data that’s scattered between servers in a complex relationship.

    The alternative is a simple datastore with put and get operations, which forces programmers to think in those terms; when you add serialization and unserialization of objects on top of that, you get an “object database,” but that’s just a glorification of this simple-store concept.

    A great discussion of this can be found here:

    http://www.10gen.com/blog/2008/7/databases-and-the-cloud

    See also Amazon SimpleDB:

    http://aws.amazon.com/simpledb/

    And Google BigTable:

    http://labs.google.com/papers/bigtable.html

    You might think this stuff looks a lot like a filesystem, and you’d be right. You could absolutely build this on top of Amazon S3 alone. However Amazon SimpleDB is optimized for little stuff with fancy indexing, while Amazon S3 is optimized for bigger blobs (i.e. what we think of as “files”):

    http://aws.amazon.com/simpledb/faqs/#When_should_I_use_Amazon_S3_vs_Amazon_SimpleDB

    ]

    Khan, Microsoft:

    “We have a long tail of little applications within Microsoft… it’s not cost effective to maintain servers for them manually.”

    Microsoft might start running private clouds on behalf of particular clients at some point.

    Amazon offers “Elastic IP Addresses” which can be mapped to any instance on the fly. This means that you can do failover among DNS servers, not just web servers.

    Microsoft says they will offer multiple stacks, including LAMP and “legacy stacks.”

    Amazon still seems like the only “serious” cloud provider right now.

    Question: are enterprise clients resistant to cloud computing?

    Amazon: most enterprises are getting comfortable with at least moving software services into the cloud… reduced capital costs are a big deal right now.

    “Is Amazon Web Services profitable?”

    “We don’t give out those numbers.”

    Ultimate Showdown of CMS Destiny

    March 16th, 2009 by Tom No Comments

    These are my notes from the Ultimate Showdown of CMS Destiny panel at #sxswi.

    * Colleen Carroll – Palantir.net
    * George DeMet – Palantir.net
    * Matt Mullenweg – Automattic/WordPress
    * Steve Fisher – Idea Market

    DESCRIPTION

    This panel will feature the results of an `Iron Chef’ style
    competition pitting three teams of all-star Web developers from
    the Drupal, Joomla! and WordPress communities against each other
    to develop the same Web site in each of their chosen open source
    content management platforms.

    Super crowded

    Decision making tools to decide between Drupal, Joomla and
    Wordpress, the “three leading content management systems”

    Wordpress the overwhelming crowd favorite in applause test.
    I would not have put them in the same category of animal but with so many plugins perhaps they are now.

    A comparison of the three:
    http://www.goodwebpractices.com/other/wordpress-vs-joomla-vs-drupal.html

    The same spec was given to three separate teams who were
    challenged to build the site in their preferred CMS

    Drupal theme song ha

    Colleen Carroll at Palantir.net led the Drupal team.

    Team Joomla… led by Steve Fisher of Idea Market…
    instrumental theme song kind of a downer what the heck?

    Joomla has blogging extensions called Tamka which fill in the
    Wordpress gap

    Team Wordpress led by the creator of Wordpress, Matt Mulleweg

    Theme song: “it’s called Wordpress, it’s my CMS, it’s the best
    thing to hit the web since porn” A++++

    Leadership Evanston set the challenge… a community leadership
    network site for Evanston IL and other communities

    Build a web site for use by a community leadership program
    Site should utilize a variety of web-based social networking and
    collaboration tools
    Site should be as generalized as possible and be able to be
    downloaded for use by a wide variety of organizations and
    communities.

    The requirements given:

    User accounts with granular permissions
    Contact and application form
    Listserv integration
    WYSIWYG
    Embedded content
    Version control
    Editable general pages
    Image galleries
    Events
    News
    Blogs
    Classifieds
    Wiki pages
    Polls
    Forums
    Ratings
    Banner ads
    User directory

    This strongly reminds me of the work we’ve done for Duke University with Symfony. Sure enough that experience has motivated us to create our own open-source PHP CMS, pkContextCMS.

    To put together a spec for the job, they went to Mark Boulton of Design Ltd., the Five Simple Steps:
    Designing for the Web guy. There were ready to go PDFs so it was
    an implementation challenge mostly… makes sense, front end layout wasn’t the challenge here.

    No more than 100 hours could be spent.
    Only freely-available software could be used, all sites must be
    freely available.
    Site must function on provided shared hosting (LAMP). Shared
    hosting = bad permissions = ow, but they wanted to simulate realistic low-cost environments for nonprofit sites. Fine, but why not go with Slicehost or other low-cost virtual machine hosting for a little security and sanity?

    Joomla team’s comment: “Specs From HELL”

    Drupal guy: “building a web site in Drupal is a lot like making
    a car out of bacon. It’s not much fun getting there but once you
    arrive it’s delicious.”

    2 weeks ago at midnight was the deadline…

    drupalshowdown.com has the drupal site. They went with all your
    base content. It doesn’t seem to do much.

    The Wordpress site implemented the Derek Zoolander Center For
    Children Who Can’t Read Good And Wanna Learn To Do Other Stuff. Definitely the best sample content.

    The teams were spread over eight time zones etc, the Joomla team
    have never met, the Drupal team went out of their way to work in
    the same room.

    No live demos which is disappointing. I really think they should
    have done that. Now we’re hearing them talk about what the
    experience of building the sites was like, which doesn’t really
    give us much insight into how the tools compare or how the
    results compare.

    DeMet: “Did this feel like Drupal to you or were there parts
    where you felt `this is difficult for Drupal?’” Carroll: “no.
    Drupal’s awesome.” Later she acknowledged that breadcrumbs are
    kind of a pain in the ass in Drupal. Fisher and Mullenweg:
    “yeah, it’s built in.” “Yeah, we didn’t have to think about it.”

    Mullenweg: the menu system got big and crufty.

    This is an example of why Refresh Philly isn’t hooking up
    nonprofits with volunteer coders yet… the results are
    intriguing but sustainability and maintenance are big questions.

    All three teams seem to have found bugs and contributed features
    back during the project.

    They all had fun and wrote theme songs and built web sites. Not
    a lot of takeaway here.

    The Wordpress guys wrote by far the most custom PHP and JS code
    at 1,808 lines. Drupal and Joomla! went with 220 and 30
    respectively. But how well did they implement the spec? If they
    all did an equally good job that would mean something…

    Ah the WordPress stats included theme files which the others did
    not. So never mind.

    The designer called it a tie between WordPress and Drupal and
    dinged the Joomla! team for not following his typography…
    which doesn’t say anything about the relative usefulness of the
    CMSes.

    Okay finally… they did do some user evaluation with users who
    didn’t have a CMS preference already… finally the crux of the matter

    All three sites involved quite minimal amounts of new PHP, which
    emphasizes that all three have core features and plugins enough
    to more or less stamp this site out as far as the back end is
    concerned.

    drupalsxsw user testing summary: “I don’t understand this, and
    all the forms are too complicated, where why what OH GOD
    SPIDERS”

    The joomla user test hit problems too and she would retry and
    retry and retry kind of banging the point home

    The Wordpress dashboard still had the Wordpress development blog
    on it ouch

    It’s possible they didn’t give her an account with the right
    privileges to do anything? Oh they tried it at multiple
    levels of user auth. Why not show us more representative video then?

    The user tester found joomla and drupal the most useful and
    wordpress a distant third. She had a lot of difficulty finding
    the administrative features for the wordpress site’s
    site-specific features.

    cmsshowdown.com will have links to everything soon.

    They did not evaluate performance issues.

    “How much time was spent making the site look right in IE6?”

    “Too much.”

    “We almost forgot. Last hour. IE6: crap!”

    Drupal used the Zen theme which has that under control already.

    No one used all 80 hours.

    And now the beauty contest… the
    audience objected loudly to being asked to vote when they
    weren’t shown demos of the sites. I agree. And I never quite heard who won. I had something else to attend to. Here’s a tip: never shave your head with a cheap disposable razor.

    Notes from the “iPhone development for experienced web developers” SxSW Interactive panel

    March 15th, 2009 by Tom 3 Comments

    Quick and dirty notes on an excellent panel.

    Joshua Siler, babcock jenkins VP of Tech, web developer
    Jordon Lev, senior developer

    [I know some of this stuff already, comments from me are in
    brackets]

    They do relationship marketing for sun, linkedin, intel, IBM,
    business to business in general. They are interested in metrics
    and so on

    So they did an iPhone app related to that

    I am surrounded by netbooks

    “web developers are mad for power.” Because we’re used to
    insanely lazy tools that can casually abuse database servers and
    application servers and the desktop CPU and it all works anyway.
    The iPhone does not work that way.

    400mhz processor, 128mb RAM, 10 to 100 times slower than a
    powermac G5. “Premature optimization” is not so bad in this
    environment. You can’t process 5 megs of XML and turn them into
    a graphics display on the fly. [This is why Objective C is more
    appropriate than JavaScript and Canvas if you want any speed]

    People expect immediacy on iPhones. The latency of web pages is
    something people are conditioned to only for web pages. Also the
    browser displays that it is still loading stuff in multiple
    ways. iPhone app developers are responsible for doing that on
    their own.

    Slow stuff should be asynchronous where possible (but remember
    that this can lead to a lot of confusion if it’s poorly done).

    Objective C is not in the top 20 programming languages based on
    search results. It’s all the way down at #2, behind COBOL and
    FoxPro and Ada etc. It’s just barely more widely discussed than
    Scratch or Haskell.

    Objective C means you’re dealing with pointers and memory
    management (without garbage collection- it’s up to you to free
    things you don’t need anymore, and not free them twice).
    Multithreaded code is common (PHP doesn’t have threads). As for
    the syntax… he refers to it as “syntactic saltiness” rather
    than “syntactic sugar.”

    [Why can't Java source, or almost-Java source, be compiled to
    Objective C source and so on? Could a subset of PHP be compiled
    to Objective C, creating a new audience of programmers? Did I
    sign away the right to even try to create something like that?]

    Xcode is the development environment, practically speaking,
    period the end. You could edit your source in Textmate and
    switch back and forth maybe.

    Cocoa, on the other hand, is modern and nifty and generally not
    an experience you’ll hate. High end UI controls can be dragged
    and dropped into the application’ UI and they will scroll and
    bounce and do all that stuff on their own. You populate them
    with data and go on with your life.

    iPhone 3.0 OS will of course make all of this obsolete next
    week… well not very… but the preview means it’ll be a more
    serious change perhaps than previously

    [Apparently I'm legal if I seek to create a compiler from
    something friendlier to Objective C. Interpreters are forbidden.]

    Data connection is flaky. [What does that mean? Lost packets in
    the middle of documents = not normally possible with TCP, it
    just dies outright. I assume they mean connections dying halfway etc., which is possible in TCP]

    REST, with JSON responses from the server, is vastly more
    efficient than SOAP and other heavy XML stuff and they like it
    for devices like the iPhone. And it just so happens I made
    exactly the same choice for pkMediaPlugin’s API because of the
    simplicity of it all.

    What are they using to parse JSON in Objective C?

    Cocoa is big on events and delegates… message passing is used
    to communicate between objects. Rather than calling something
    and waiting for completion, you are more likely to receive a
    message when the work is done.

    Interface Builder places text boxes, buttons, etc. on the screen
    in a friendly way, but the code to make them do anything is up
    to you.

    You can create multiple “views” (distinct screens / pages of the
    application’s interface) and use buttons to swap between them.

    The app delegate class is the “main function” or “master
    controller” of your application.

    We use @synthesize rather than `new’.

    The RootViewController corresponds to the default view, you can
    add more views and you often build your app out of a few views

    [Not sure why "model" and "view" classes have names like
    "WebsitesDataController" and "SettingsViewController". Is this
    their own private convention? It's weird.]

    [Here's a json library for objective c:
    json-framework ]

    They used SBJSON instead.

    return [jsonParser objectWithString:jsonString error:NULL];

    Why didn’t they do this as an iphone-safari web application?
    Response time (JavaScript is certainly slower than Objective C)?

    Their answer: users like apps. [Also an app ought to be faster because compilation/interpretation of JS and HTML and CSS is not required.]

    [UIAlertView openURLAlert = [[UIALertView alloc]
    initWithTitle:@”Connection Error”… ]
    [openURLAlert show];
    /* Forgetting this would be Bad; we have to manage stuff
    ourselves */
    [openURLAlert release];

    You write a cellForRowAtIndexPath method for your table view and
    bam, Cocoa starts calling that to get content for that cell when
    it’s visible etc.

    [Ask them to elaborate on "autoreleasing" things... I did, see the end]

    // alloc allocates a raw object, init is what we think of as a
    constructor
    // settingsController is a pointer
    SettingsDataController = *settingsController =
    [[SettingsDataController alloc] init];

    // Now we give those resources back

    [settingsController release]

    * * *

    They like:

    Exciting platform
    Standardized hardware
    Cocoa and MVC
    Bare metal programming is kind of exciting for a change

    They don’t like:

    Objective C
    Refactoring is hard. Objective C just doesn’t accommodate DRY
    very well

    (of course, PHP is not totally great that way either, he’s used
    to Ruby)
    Lots of assumed knowledge and undocumented stuff
    Xcode is crude
    App deployment is a pain
    Flaky connectivity
    Apple controls the universe

    [These guys are not the most experienced iphone developers in
    the world, but they are smart and successful and have a valuable
    perspective similar to our own... very similar to what ours
    would be minus my past C/C++ experience]

    [I asked about autorelease and memory pools as an alternative to
    alloc/release. They don't really know the answer to that one. However:

    http://www.cocoadev.com/index.pl?AutoRelease ]

    To Have And To Hold

    March 13th, 2009 by Rick 1 Comment

    haveandhold

    ZINES!

    What purpose do they serve now that everything is a blog?

    You actually have to go to a drop point to get a copy. It might even cost money. It doesn’t alert you when new content is available. It can’t be monitored by Analytics. It promotes deforestation. It ends up in a bankers box full of other flyers/posters/postcards/love letters and gets moved from apartment to apartment. Papercuts.

    BUT!

    When was the last time you felt nostalgia for a blog?

    I don’t even know what any of the blogs I read look like. They’ve been anesthetized by Reader (thankfully). They have no physical properties, no color, no smell, they consist of pure nonlinear information—that stuff that makes us Literate Culture people txt each other to death and interact with all of our friends simultaneously in tabbed chat windows.

    Here’s were the vernacular of materials comes in. I like the rare moments of being a graphic designer that allow me to be more of an industrial one. Objects are engineered, even if they are mostly two-dimensional. Publishers lose money on hardcover books, but there is a transcendent quality to reading one, touching book cloth. Size matters too. W magazine is so huge you forgive it for having 200 pages of ads and 5 of editorial content.

    Speaking of zines, I picked up the new Megawords recently and (content aside) I enjoyed flipping through. It was printed on that matte paper with the waxy ink that smells like crayons. It’s my absolute favorite paper/ink experience. I feel like a kid with a coloring book and a box with twelve perfectly conical Crayolas.

    Now that paper is nostalgic, or retronovative, what do we do? I say we fight. I’m starting a zine called Poster. Guess what, it will unfold and one side will be a huge print. The other side will have sweet content. It’ll use recycled paper with hippy ink. It’ll be impossible to re-map-fold. It’ll make you feel something while you read it, and maybe even after.

    pkContextCMS: a sneak preview for the worthy

    March 11th, 2009 by Tom 14 Comments

    logo


    We’ve built a lot of sites over the past few years that emphasize a smooth transition between browsing and editing. Frequently-used administrative stuff doesn’t have to be hidden in a clumsy, generic back end application. And the editing experience doesn’t have to be ugly or involve a steep learning curve.

    In the past we solved these problems with sfSimpleCMS, a widely used CMS (Content Management System, as you probably know) for Symfony 1.0. But as much as we’ve appreciated sfSimpleCMS, we’ve also accumulated a growing list of frustrations with it. And at the same time, Symfony 1.2 and Doctrine have come on the scene, offering exciting new possibilities that sfSimpleCMS doesn’t really leverage.

    Enter pkContextCMS, our own CMS offering. Features of pkContextCMS include:

    • Editing takes place “in context.” sfSimpleCMS followed this principle for editing slots; we extend it to adding, removing and reordering subpages
    • Easy version control for the contents of every “slot” (editable piece of content)
    • “Areas,” continuous columns in which editors can add a variety of slots of different types (managed media slideshows interleaved with rich text, for instance)
    • Editing privileges for specific parts of the site can be easily assigned to specific users
    • All slot types, including the standard rich text and plaintext types, are implemented as Symfony modules with all the flexibility that implies
    • New slots can implement custom data storage via Doctrine column aggregation inheritance. (English translation: “oooh, cool!”)

    The first beta release of pkContextCMSPlugin is now available. If you check it out, we strongly recommend that you literally check it out… in the subversion version control sense of the phrase. Our cmstest demo project is by far the friendliest way to install the CMS.

    Our media plugin, already in use on an upcoming client site, adds even more capabilities via video and slideshow slots and will also be released soon.
    picture-20


    pkContextCMS is a big deal for P’unk Avenue and we’re excited about it. It’s an open source project, released under the MIT license, and we plan to embrace contributions from the community at large.

    This first post is technically oriented, because at this stage pkContextCMS is most easily appreciated by those with the technical skills necessary to work with it. But we have big plans for it which will be far more easily appreciated by a wide audience. And we look forward to sharing those with you as they unfold.