13 January 2010

How to build a simple site using Drupal and other open source software


All the computers in my life are littered with failed Drupal sites. Usually after installing Drupal, I'd poke around the admin UI, try to edit some files, get flustered, give up. I didn't know where to start. Well, I finally I succeeded in getting a very basic Drupal site up and running. In case some of you might be interested in learning more about Drupal, here is a summary of how I went about teaching myself the little I know.
  1. I started by watching some screencasts from Lullabot Had I seen the screencasts on Drupal.org, I probably would have watched a few of those, too
  2. Visited drupal.org and took a looked at some sites built using Drupal, and looked at the kinds of modules that are available
  3. I downloaded MAMP (for Mac). Or XAMPP (for Win, Linux, Solaris, or Mac)
  4. I read a book about Drupal by David Mercer, and started to learn a few of the many Drupalisms 
  5. downloaded Drupal 
  6. And installed it using the Drupal Installation Guide
  7. Read this tutorial on theming and started to follow it (big warning: there are quite a few errors and ommissions in this tutorial, so you'll need to be comfortable with troubleshooting and debugging things, generally) 
  8. I flailed for about 4 weeks while image uploading was failing, and eventually got help via the imagecache troubleshooting guide
  9. After I got things working, more or less, I tackled ratings by following Lullabot's Building views with Fivestar and Voting API
  10. I logged in as admin and set the permissions I wanted, built the site menu, tacked on a logo, tried out a various site names, etc.
  11. I showed it to a few people at work who helped me catch bugs, and helped me realize we needed notifications
  12. I started using it to post real ideas that related to the product I'm working on
  13. I set up an action that sends an email to the idea creator when a comment is made
  14. Then I Installed and set up the Notify module to send everyone (who doesn't opt-out) emails about new ideas and comments. Knowing what I know today, maybe I should have tried out Notifications module first

Right now we're using this site inside The Economist to crowdsource product development ideas, to pitch and evaluate new features and technologies, and to generate new ideas for making money. The site is internal at this point, but my goal is to improve it (it needs work) and perhaps eventually incorporate it into The Economist, so that we could collaborate with our users to invent new stuff. That would be fun.
While I can't show you the site we're using at The Economist, I can show you a similar site that has some placeholder content at the moment. It is called Plus One at the moment, and is in search of a new name and a purpose. Perhaps we can use it to gather ideas for how to practice agile user experience design?


I'd love it if the spirit would move you to sign up, and start posting ideas about agile UX design, your work, solutions or insights that relate to Agile and UX, and related topics. I'd also love it if you sent me bugs, or features you think are missing (like better profile pages, and ways to browse by author, or to view all ideas in a certain category...).
Hope you enjoy experimenting with Drupal. Keep me posted on how it goes.

Posted via web from Stefan's posterous

Labels: , ,

05 January 2010

Where do Twitter users live, and other data-driven maps

Here's a map of the USA showing where Twitter users live. The map is generated by CartographerJS, http://cartographer.visualmotive.com/, using data from http://tweemap.com/.

CartographerJS specializes in thematic maps, such as choropleth maps (more about that here: http://en.wikipedia.org/wiki/Choropleth_map) that color states or countries to indicate population data, etc. Now I wonder if you can use CartographerJS with openstreetmap.org

CartographerJS via Andrew Otwell's FriendFeed.

Posted via email from Stefan's posterous

03 January 2010

The Web and the magazine

Magazine-making is a 20th-century commercial art, with time-honored conventions, protocols and economics. But the effort that goes into making a print magazine—lighting photo shoots, designing layouts, affixing page numbers—produces little value for those who find its elements deracinated on the Web.

http://www.nytimes.com/2010/01/03/magazine/03FOB-medium-t.html?emc=tnt&tntemail1=y
Posted via email from Stefan's posterous

24 December 2009

Santa's taking the N train this year

Dear friends,

As I write, Katherine is sewing Astrid's Christmas stocking and I'm thinking of past Christmases. Like the year one of my uncles brought cans of Silly String to the Christmas eve party, and I ended up with red and orange strings permanently stuck to the bottoms of my footie pajamas. I remember waking up from the music and laughter, and walking out into the bright lights to see if it might be Santa. Now our baby Astrid is asleep, and we're listening to Otis Redding sing White Christmas. In a few years Astrid might walk out of her room and ask if Santa has arrived yet. I can't wait.

Here's to a wonderful Christmas for you and your families, and a much, much better 2010!

Warm wishes,

Stefan, Katherine, and Astrid

White Christmas by Otis Redding  
Download now or listen on posterous
11 White Christmas.mp3 (4468 KB)

Posted via email from Stefan's posterous

19 December 2009

Atomic Art from Brooklyn

From Kipi's on Etsy

Posted via email from Stefan's posterous

17 December 2009

Beck and Feist sing a Christmas song

This holiday season I've been enjoying some time with my daughter, Astrid. She's just 19 months old but when I put this video on we both swayed back and forth to this tune by Steve Spence, recorded as part of Beck's Record Club. Wow, I'd like to have a record club to join. In the meantime check this out.

Record Club: Skip Spence "Little Hands" from Beck Hansen on Vimeo

Posted via email from Stefan's posterous

14 December 2009

Failing and learning: Algorithm design and user friendliness

Here's a lecture from MIT professor Charles Leiserson on algorithm design. I didn't study computer science in college. I was more of a literature, art, architecture, philosophy guy. But my work has put me in touch with many ideas from computer science, including algorithm design. I find it all fascinating.
In this first lecture of the course, Professor Leiserson asks what is more important than performance? He gets some interesting answers. One student says that user friendliness (I'm not a fan of that term...seems so fuzzy) is more important than system performance. I guess you might call 'user friendliness' human performance. In response, Leiserson points out that performance is actually closely tied to user friendliness. True, true, true. The faster a user fails, the more the user learns. The same is true of programs and failure. At least good ones!
</object>
This course is also taught by Erik Demaine who, I hear, is a MacArthur Fellow. I have a feeling this might be an interesting course to follow.
All of this comes via the NYC Resistor email list for their algorithm design course: http://groups.google.com/group/nycresistor-compsci.
Posted via email from Stefan's posterous

05 December 2009

Using Google Maps API and open source mapping solutions in Drupal

5 Dec 2009
Notes from the Mapping and Open Layers session by Thomas Turnbull and Sam Tressler at DrupalCamp NYC 7. Corrected URL for opengreenmap.org and attributed Sam Tressler to the Lance Armstrong map.
Links
openstreetmap.org, is a free, editable map of the whole world. It's possible to toggle Open Street Maps, Gmap, Y! maps, and custom tiles on/off.
opengreenmap.org, (corrected the URL, thanks Thomas!) where Thomas Turnbull worked. Has a mobile version (user agent sniffing)
livestrong.org/map, which another presenter developed (Sam Tressler)
CloudMade.com is a company that makes/uses OpenStreetMaps, it is the wikipedia of street mapping, you can style your maps (Make primary streets golden, make secondary streets yellow)
nycwhisky.com, and click on Map of events, uses Gmap API and the Drupal Locations module
marinemap.org, uses open layers and Google Map tiles, together. Allows UI to switch between them. Slick, slick, slick!
DRUPAL MODULES
Google Earth Module (?) and Gmaps can output KML, and import that into Google Earth
OPEN LAYERS module
is a module that hooks into openStreetMaps. A map is a large collection of tiles, and there are several sizes of tiles (from zoomed out, to zoomed in). These map tiles are background images for your custom markers / layers. OpenLayers is positioning your custom markers on the BG img.
You can create width, height, lat for the center, and the zoom level defaults. Controls: attribution: on/off, layer switcher avail to user, etc.
You can set the projection type
When you geocode with Google, they return metres, even though it looks like lat/long
GEO-IP Module
Ships with zipcode and lat/long data for 8 countries. Can be used as auto-complete, you type in city name, and then prepop everything else.
LOCATIONS Module
Locations module allows you to geocode a location name and turn it into a Lat / Long
GMAP API allows you to display map with markers for each location
This is the array you send to Locations Module
Country, optional
State/province, required
     Postal code, required
          City, optional
             Street address, optional
Minimum is you need both state and zip, Zip codes are not unique (identical in USA and France). Of course, if you send a string like "NYC: to Google's Location Extraction Server (the thing that geo-codes locations) even without a zip code, it's probably going to figure it out.
-------
GEO Module
Shape file data comes in, pre-built, with the lat long, and other layers.
Treats a location as an actual physical space, using GIS standards
Locations module doesn't treat the buildings as a space, but as a pin point
MySQL uses PostGris as standard for locations, so does Geo Module
---------
Some notes on implementation:
Location is a new content type
Locative info fieldset is displayed in the node editing screen:
You set the min mumber of locations, collection settigns,  name, street, additions, city (these can be defaulted)
Geo-IP module, or add_geo-IP could be used to determine the country and city of the user and pre-populate content in the form, making entry faster, smarter.
Use a node reference to say "this event is at this location."
THE HEART OF IT: VIEWS
In the view, you use a new Page, with the name of your map, and a "Style" of GMAP and use row style of "Fields", list the fields "latitude and longitude" and list the location field, too.
"Relationship" section uses the node ref that joins the location and the event together (need more info here)
You can add an Attachment to the page, which will display below the map a list of locations. This is good for SEO and usability, because you can browser/search in the page, and click the link which takes you to the infobubble.
So, go and start mapping the world.
Posted via email from Stefan's posterous

Stuff like this makes me wonder why I majored in English

IV-18.jpg
These are clocks made from vacuum fluorescent displays. You can make your own. Just follow the helpful hacking and programming instructions here: http://web.jfet.org/inGrid/
Here's a clock made from an oscilloscope screen: http://www.cathodecorner.com/
Santa, if you're listening, I want the parts and skills to make a clock like these. Thank you.
Posted via email from Stefan's posterous

Today I am at DrupalCamp NYC 7, next up is a session on mapping and Open Layers. Http:/.groups.drupal.org/node/38454

2006 Stefan Smagula     Main     Resources     Memex Wiki     STS Program at UT Austin