Presentation

389 views

Published on

  • Be the first to comment

  • Be the first to like this

Presentation

  1. 1. A new idea for web design and content management Wednesday, September 8, 2010
  2. 2. Question #1 Why bother creating another CMS? Wednesday, September 8, 2010
  3. 3. Existing Concept Wordpress: Content Objects are the Building Blocks. You get: Title, Author, Content, Excerpt, Categories, and Tags by default. Wednesday, September 8, 2010
  4. 4. Existing Concept Wordpress: If you want different content, you need to change the building blocks. Wednesday, September 8, 2010
  5. 5. Existing Concept Wordpress: You can do a lot to hack the basic content object, but it’s not very graceful. ...and be sure you check the right category! Wednesday, September 8, 2010
  6. 6. Existing Concept Wordpress: Custom Taxonomies and Post Types are an attempt to make this easier for the end user, but the code for the template designer is similarly cumbersome. (this is about 20% of the code required to create the custom meta boxes shown on the previous screen) Wednesday, September 8, 2010
  7. 7. The problem: At the end of the day, WordPress only has only one core content type: posts. Everything you do to customize the platform involves hacking the post object to pretend it’s something besides a blog entry. Wednesday, September 8, 2010
  8. 8. Existing Concept Other Platforms: Other platforms are trying to fix this by offering a more content building blocks to choose from. SquareSpace calls these “bricks.” Wednesday, September 8, 2010
  9. 9. Existing Concept Other Platforms: Harmony offers compelling scaffolding features, allowing template designers more flexibility. Wednesday, September 8, 2010
  10. 10. ...but SquareSpace and Harmony are both commercial “hosted” web apps. They give you a lot more built-in options than WordPress, but the code isn’t yours to customize. Wednesday, September 8, 2010
  11. 11. The Bottom Line All of these platforms have compelling strengths, but we believe they’re all making one critical bad assumption... Wednesday, September 8, 2010
  12. 12. This (the content template) isn’t the building block of a CMS: Wednesday, September 8, 2010
  13. 13. The DATA are the building blocks. Wednesday, September 8, 2010
  14. 14. The Palette Approach We believe that users should be able to create any kind of content object they want, simply by selecting from a kit of modular, interchangeable parts. Wednesday, September 8, 2010
  15. 15. Text Field Text Area Example User Object Map Here are a few of the Address data types that we’ve Code Snippet been working on so far: Link Category Tag Image Image Gallery ...any other content object Wednesday, September 8, 2010
  16. 16. Text Field Text Area Example User Object Map What if you want to Address create a site for a Real Code Snippet Estate Brokerage? Link You might want to start Category with a content object Tag called a “Property Image Listing” Image Gallery ...any other content object Wednesday, September 8, 2010
  17. 17. Text Field Text Area Example User Object Map What kind of things go in Address a listing? Code Snippet Link Category Tag Image Image Gallery Date / Time ...any other content object Wednesday, September 8, 2010
  18. 18. Example Name [ Text Field ] Location [ Address ] How about this: Map [ Map ] Description [ Text Area ] Main image [ Image ] Image gallery [ Image Gallery ] Wednesday, September 8, 2010
  19. 19. Example Property Listing Object: Name [ Text Field ] Now, let’s say all of the Location [ Address ] site’s users are the sales Map [ Map ] Description [ Text Area ] agents. We can pick a Main image [ Image ] user and attach them to Image gallery [ Image Gallery ] the content object... Listing Agent [ User( Username ) ] Wednesday, September 8, 2010
  20. 20. Example Listing Agent Object: Name [ Text Field ] Or, if the sales agents Phone [ Phone Number ] don’t need to ever log in Email [ Email Address ] Bio [ Text Area ] to the system, they Photo [ Image ] could just be objects too. Wednesday, September 8, 2010
  21. 21. Example Property Listing Object Name [ Text Field ] We could attach the new Location [ Address ] listing agent object just Map [ Map ] Description[ Text Area ] as easily... Main image [ Image ] Image gallery [ Image Gallery ] Listing Agent [ Object: Agent( Agent Name ) ] Wednesday, September 8, 2010
  22. 22. Example Now when you want to create the template for the listing you get to use simple, standard PHP to access your data: <?php echo $listing->name; ?> Wednesday, September 8, 2010
  23. 23. Example In fact, the simplest template might look something like this: <?php //Show all the listings: $_template->render(‘listings’,‘all’); ?> Wednesday, September 8, 2010
  24. 24. Example ...but we believe you should always have easy access to your data using simple, logical syntax. So you could just as easily do something like this: <?php //Show all the listings: $listings = $_template->getObjects(‘listings’,‘all’); foreach( $listings as $key=>$value ) { ?> <div class=”<?php echo $key; ?>”><?php echo $value; ?></div> <?php } ?> Wednesday, September 8, 2010
  25. 25. Example Property Listing Object Name [ Text Field ] What if we wanted to Location [ Address ] add a new kind of data Map [ Map ] Description[ Text Area ] that Palette doesn’t Main image [ Image ] already know about? Image gallery [ Image Gallery ] Listing Agent [ Object: Agent( Agent How about a price? Name) ] Wednesday, September 8, 2010
  26. 26. Modular datatypes Palette lets you define new rules for the behavior of data. To create the datatype “price” you would define some validation rules, like: - Store this as a float - Display a currency symbol in front - Use two decimal places - Put commas after every 3rd digit. And you’d get something like this: $175,000.00 Wednesday, September 8, 2010
  27. 27. Modular Datatypes Once you’ve created this datatype it lives in your library, and you can use it in any other content object you create. More importantly, you can share it with other users so they don’t have to duplicate the effort. Creating a new datatype requires coding knowledge, but the library should grow to provide datatypes to cover the vast majority of needs. Wednesday, September 8, 2010
  28. 28. Modular Content with Dependencies In Palette you can share the listing object you created as well. We call these “Object Patterns.” If you choose to share the “Listing” object pattern, it will be smart enough to bring the required “Listing Agent” object pattern and “Price” datatype along with it. Wednesday, September 8, 2010
  29. 29. Modular Content with Dependencies In Palette, everything is modular, and everything is sharable. Wednesday, September 8, 2010
  30. 30. The Palette Approach What else does Palette have to offer? - Written in PHP, the most well-known server-side programming language. - Uses PHP 5.3, CSS3, HTML5 - we have no backwards compatibility to worry about so we’re starting out with the latest technology available. - Open source (MIT License), free to be used however you want. - Light-weight: Our goal is to keep the core package under 1MB. Currently we’re using about 400kb. Wednesday, September 8, 2010
  31. 31. Where are we? Have been working for two months. Near Alpha 1 Release. Everything we described today is in the code, but it isn’t quite stable enough to release. Wednesday, September 8, 2010
  32. 32. Why is our idea worth developing? We believe we have a compelling idea that solves the needs of most mid-skill web developers and designers better than competing platforms. ‣ It’s not as useful “out-of-the-box” as WordPress, but it’s vastly more adaptable to whatever kind of content you need to manage. ‣ However, most of the hard work required by totally open-ended web application frameworks (like CodeIgniter) is done for you. You can do a lot on Palette without knowing PHP. ‣ And, unlike hosted alternatives, you own the code and can get under the hood to change it if you want. Wednesday, September 8, 2010
  33. 33. Where can you learn more? Sign up for our email list at: _________________________ and we’ll let you know when Alpha 1 is available. We should be there very soon. At that point, we’ll open the doors on this project to anyone who’d like to join! Wednesday, September 8, 2010

×