Posts Tagged ‘javascript’

Flash and Standards: The Cold War of the Web (A List Apart)

Tuesday, March 16th, 2010

flashstandards

[Editor’s note: A sane approach to the HTML versus Flash “war”: ceasefire. Get on with designing great site around great content for your readers.]

Republished from A List Apart.
By Dan Mall.

You’ve probably heard that Apple recently announced the iPad. The absence of Flash Player on the device seems to have awakened the HTML5 vs. Flash debate. Apparently, it’s the final nail in the coffin for Flash.

The arguments run wide, strong, and legitimate on both sides. Apple CEO Steve Jobs calls Flash Player buggy. John Gruber of Daring Fireball says that Apple wants to maintain their own ecosystem—a formula Adobe’s software doesn’t easily fit into. On the other end, Adobe CTO Kevin Lynch argues that Flash is a great content delivery vehicle. Mike Chambers, Principal Product Manager for Flash platform developer relations at Adobe, expresses his concerns over closed platforms. Interactive developer Grant Skinner reflects on the advantages of Flash.

However, the issue is larger than which one is better. It’s about preference and politics. It’s an arms race. This is the Cold War of the Web.

Ceasefire

Both the standards community and the Flash community are extremely good at sharing knowledge and supporting the people within their respective groups. The relationship across communities, however, isn’t nearly as cordial. Two things are happening: either the people within each camp stay to themselves, or one ignorantly hurls insults at the other.

As new technologies emerge, their following naturally starts small. An effective rallying cry is to find—or create—a common enemy. Huge strides such as Doug Bowman’s Wired redesign, Dave Shea’s CSS Zen Garden, and Jeffrey Zeldman’s Designing With Web Standards had a significant influence, not only on the standards community, but on the entire web design industry. They positioned standards as an alternative to Flash and table-based sites, not in conflict with them. However, less enlightened followers wrongly interpreted these champions’ examples as the first assault. As Adobe Photoshop Principal Product Manager John Nack says, “people want a certain ‘killer’ narrative.”

Continue reading at A List Apart . . .

Going Native: Using the Google Maps API v3 in Smartphone applications (Killingsworth via Google)

Monday, February 22nd, 2010

[Editor’s note: Cut down on development time using the new Google Maps API v3 but creating a single mobile version of your map that can also be wrapped inside a native application for the iPhone or Android.]

Republished from Google Geo Developers Blog.
B

Over the last couple of years, my office has been working on using the Google Maps API to display the Missouri State University campus map. The map is used by campus faculty, staff, students, and visitors and includes buildings, parking and transit system information. Beginning this summer, we started work on incorporating live GPS tracking of our campus buses into the map. Both the idea and GPS application on the buses came from one of our computer science students who wanted more information on the campus transit system.

Using the Google Maps API v3, I was able to create a mobile version of our map for use on smartphones. After showing it to my users, one of the first responses I got was, “Are you going to make this available as an application?”. After spending many hours developing a feature-rich mobile web version, the thought of investing a large amount of time to code the same experience on multiple platforms was overwhelming. Then I began thinking of the maintenance headaches; even simple changes, such as adding a new sets of icons for custom markers, would be time consuming. All of a sudden the idea sounded much less appealing. I’d spent all this time on the mobile web version of my map, why couldn’t I just use that?

All Wrapped Up

So instead of writing the maps application using the SDK of each phone platform, I wrapped my v3 Maps API site into a WebView inside a stub application. Now all the work spent on the web version automatically applies to the “native” application and my users never even know the difference. The Google Maps API team have even provided some great reference articles for Android and iPhone which help get the process started.

Continue reading at Google Geo Developers Blog. . . .

Scriptopedia: JS, AS, and VBA scripts for Create Suite apps

Tuesday, February 9th, 2010

titre

[Editor’s note: New script compendium. Some for Illustrator, many for InDesign.]

Republished from Scriptopedia.

Eddy and I are very pleased to announce the release of the scripts library for the Adobe Software and desktop publishing and photography.
Pointing out the dispersion of the scripts over the Internet, we have decided to offer a unique space gathering the best in the automation field.

Javascript, Applescript, VisualBasic or action scripts will be warmly hosted here.

If you want to make part of this adventure and help us filling the base, don’t hesitate and contact us !

We hope you enjoy surfing on this site and using the scripts as much as we had creating Scriptopedia.org.

Thanks in advance and…

Check out Scriptopedia . . .

Flash AS3 versus HTML 5+ (Mike @ Teczno)

Tuesday, December 15th, 2009

canvasmappingtag[Editor’s note: Even with Adobe’s open sourcing the Flash ActionScript 3.0 compiler, the HTML community continues to push for abandoning the platform in favor newer markup languages that center around the canvas tags. Slowly this is becoming more of a reality as the markup becomes more powerful and the rendering engines faster. We’re still not their yet, and I’ll be programming in AS3 for a while more yet. But something to ponder.]

Republished from Teczno.

the future is staring us in the face

That’s the line we use around the office whenever the subject of HTML and canvas comes up – we use Adobe Flash for most everything now, but we don’t expect that situation to last forever. The work done by Mozilla on Gecko and Apple on WebKit is one possible future for online design and visualization, and it’s turning slowly to face us right about now.

A few developments during recent years have brought us here.

One of the first widespread demonstrations of canvas viability as an interactive medium came from legendary Javascript developer John Resig, who ported the popular educational / artistic Processing environment to Javascript and released Processing.js to the world in May 2008 or so, just about 1 1/2 years ago. At the time, the library was lauded as an “amazing hack” (Andy Baio). Christopher Blizzard said:

The web is going to win, filling the market niche where Flash and other similar technologies found their hold. And John’s little project can hopefully act as a great catalyst to take us there. Thanks, John!

Continue reading at Teczno and play with live mapping demo . . .

Visualization: Geomap (Google)

Friday, June 19th, 2009

geomapgooglevisualization

[Editor’s note: Google has made freely available the curious choropleth (colors by country) and graduated symbol (bubble) maps found in their Google Analytics tools as part of their charting – visualization kit. You set-up a HTML JavaScript object with the map parameters (country-value pairs or city-value pairs) and the colors and Google will make you an interactive Flash map (data brushing reveals country value on mouseOver) color coded via uninformative class breaks and terrible cartography linework (look at the US, Canada border) and a terrible world map projection (cylindrical with gross distortions in the higher latitudes). But it is free and fast and several regional base map are also available. There is certainly an oportunity for someone else to come up with a better API that uses the same function calls but draws better maps with meaningful data classes. Screenshot above is static, click on it to go to interactive version.]

Republished from Google Visualization.

Overview: A geomap is a map of a country, continent, or region map, with colors and values assigned to specific regions. Values are displayed as a color scale, and you can specify optional hovertext for regions. The map is rendered in the browser using an embedded Flash player. Note that the map is not scrollable or draggable, but can be configured to allow zooming.

We have two examples here: one that uses the regions display style, and another that uses the markers display style.

Regions Example

The regions style fills entire regions (typically countries) with colors corresponding to the values that you assign. Specify the regions style by assigning options[‘dataMode’] = ‘regions’ in your code.

Markers Example

The “markers” style displays a circle, sized and colored to indicate a value, over the regions that you specify. To use markers, you must include the following Google Maps API script with a key, unless you specify locations using latitude and longitude values.

Continue reading at Google . . .

Density Mapping in Google Maps with HeatMapAPI (GeoChalkboard)

Monday, April 27th, 2009

[Editor’s note: Heat maps are a useful way to qualitatively represent densely clustered point locations on a map. This post from GeoChalkboard walks thru how to create using the Google Maps API and the HeatMap API.]

Republished from GeoChalkboard, there on March 11, 2009.

In the GIS world heat maps are a graphical representation of point data on a map through the use of colors that indicate the density of some variable such as crime incidents or traffic accidents.  Heat maps let users quickly visualize the density of locations. Being able to understand the density of point locations makes it much easier to see patterns in your data, especially when using colors. In this post we’re going to examine the HeatMapAPI, a JavaScript API for creating heat maps in Google Maps.


(Above) 2009 Starbucks Store Closures

Introduction
HeatMapAPI can be used over the Internet or as a .NET DLL that runs in a local environment and allows you to integrate heat map images into Google Maps or other GIS systems.  In this post we’re going to use HeatMapAPI to visualize the density of recent Starbucks store closures.  In a recent statement, Starbucks announced the closure of 600+ stores in the United States due to economic conditions.

Continue reading at GeoChalkboard . . .

Interview with MarineMAP Mashup Developers (Kelso)

Tuesday, April 21st, 2009

marinemapsupporttool

[Editor’s note: MarineMAP is a cutting edge mashup built using PostGIS, GeoDjango, Ajax, Flash, OpenLayers, GeoServer and MapServer with Google base map tiles. It assists stakeholders in the design of MPAs (Marine Protected Areas) in mapping oceanographic, biological geological, chemical and human dimensions of the ocean and coastal areas. I talk with Will McClintock and Chad Burt of the Marine Science Institute at University of California at Santa Barbara about the technical underpinnings and development philosophy behind the project. One key to the project’s success (rolled out Dec. 2008) has been the hiring of dedicated programmers to implement design ideas and new technology to extend an earlier version’s usability and reach. Thanks Melissa and Sebastian!]

Interact with the MarineMAP at marinemap.org/marinemap.

Interactive Map Tool Objective: MarineMap is an internet-based decision support tool that provides the capacity for the SCRSG (South Coast Regional Stakeholder Group) to view data layers, create individual MPA concepts, assemble collections of individual MPA concepts into MPA arrays, receive basic feedback on how well MPA concepts and arrays meet guidelines for MPA design, and submit MPA arrays to staff as MPA proposals. This tool will be the primary way in which MLPA Initiative staff and SCRSG members capture and store information regarding MPA proposals.

marinemapsupporttool2

(Above) Screenshot above showing Marine mammal and Nearshore habitat layers on base map with area Measurement Tool enabled.

(Question) Kelso’s Corner: What technologies are leveraged in MarineMAP?

(Anwer) MarineMAP: We’re not using ArcGIS at all, save for cutting map tiles (using ArcGIS Desktop and Arc2Earth) and, as a non-critical component of the system, ArcSDE / SQL Server. We’re mainly using PostGIS, GeoDjango, Ajax, Flash, OpenLayers, GeoServer and MapServer and will soon switch to the Google Earth API.

We are using OpenLayers, rather than the Google Maps API for our “slippy map”. OpenLayers is pure javascript, as is most of the client application. We are using Flex, but only for the charting component. [Editor’s note: OpenLayers is using the Google Maps tiles.]

(Q) Kelso’s Corner: How many programmers do you have on staff to deal with all the software components?

(A) MarineMAP: Currently, two of our developers work full-time on MarineMap, while our other two developers work half time. We also have several GIS analysts and a cartographer to deal with the data end of things. We are now looking for a full-time, in-house Assistant Web Developer to continue working on MarineMap. As we extend MarineMap to different geographies and planning processes, we anticipate that we’ll be looking for one or two more programmers as well.

(Q) Kelso’s Corner: What was the rational for doing this substantial map development in house? Did you evalutate other routes, consultants, off the shelf software before going this route, why was this option preferable? Did you have a good cheat sheet for how to develop / implement this technology? Did you have to hire new staff to do the programming or did you have existing expertise to draw on?

(Anwer) MarineMAP: We did not have a cheat sheet for how to develop / implement this technology. This was a brand new application using some new technologies, and some that we were familiar with. Of course, we had experience developing other applications and some of these technologies overlapped. But, there was a significant amount of learning happening for all of our developers.

The MLPAI is an on-going process that will terminate sometime around 2011. Until then, we need to have a highly functional and stable application that can be adapted to the changing needs of the process. It turned out to be much more cost-effective and time efficient to hire in-house developers to work on the application year-round. Before we built our team, we spent a significant amount of time considering a host of alternatives, including trying to maintain and tweak Doris, contracting out all of the work, etc.  Initially, we felt we did not have enough in-house expertise. Although we already had Chad Burt (UCSB), Jared Kibele (UCSB), Tim Welch (Ecotrust) and, now, Ken Vollmer (Ecotrust) as our in-house crew, we eventually contracted two developers from Farallon Geographics (Dennis Wuthrich and Alexei Peters) for a limited period to  help with developing the database schema. This was particularly nice given that we had only 6 months to get the first version of MarineMap out the door. Dennis and Alexei are no longer working on the project but I am very grateful that we had access to their time and expertise during the initial phases.

(Q) Kelso’s Corner: What was Doris?

(Anwer) MarineMAP: At the beginning of the Marine Life Protection Act Initiative (MLPAI), staff chose to hire consultants to build an application (eventually called “Doris”) that was built on ArcGIS Server 9.1 technologies. It shared some of the features of MarineMap, including drawing MPAs and arrays, and generating reports on what was being captured inside those MPAs. Doris had a poorly designed interface and, perhaps more significantly, it was dreadfully slow. Consequently, few stakeholders used it. Furthermore, because the application was built using technologies with which we had no particular in-house expertise, and because these technologies were proprietary, we had a difficulty updating the application or tweaking it on the fly. (I had been running ArcSDE / ArcIMS and ArcGIS Server applications for a couple years but had no real development expertise in, say, ArcObjects, or VB .Net.)

(Q) Kelso’s Corner: It seems there are many more RubyOnRails developers than Django. Have you found this a hindrance for hiring staff or when looking for trouble shooting advice?

(Anwer) MarineMAP: It does seem to be a bit of a challenge finding Django developers, particularly those that can / will work locally. I have not tried to hire a RubyOnRails expert so I have no direct means comparison.

(Q) Kelso’s Corner: Why will you be switching to the Google Earth API? Is this only for the front end? Have you been happy with GeoDjango?

(Anwer) MarineMAP: GeoDjango has been fantastic. Using the Google Earth API does not mean ditching GeoDjango. Rather, using the Google Earth API represents a shift away from the OpenLayers API. We’ll still be using GeoDjango extensively.

[Our lead developer] was a big proponent of RubyOnRails for quite some time, but Django has taken many of its best ideas to Python. While Ruby is aesthetically a beautiful language, Python is usually much faster and has a more mature set of modules to build on. The only thing I miss after switching over to Django is the database migrations Rails offers. Most open source GIS packages also have bindings for Python, where as there a few similar tools for Ruby.

Switching to the Google Earth API will just mean replacing OpenLayers. OpenLayers is a very good library, but the Earth API is much faster due to the fact that it is a compiled plugin rather than being written in javascript. This allows it to display thousands of placemarks on screen at once, which is one of the primary reasons for switching. Google Earth can also display temporal and 3d data.

(Q) Kelso’s Corner: Besides the change to Google Earth API, what other changes, updates do you plan for this online map?

(Anwer) MarineMAP: Besides switching to the Google Earth API, there is one major upcoming update to MarineMap. Specifically, we will be implementing a map-based (i.e., location based) discussion forum. Users will be able to zoom into a location on a map and tag objects (MPAs, data, places) with a comment. Other users will see these comments (if they have comments “turned on”) as they zoom in to a location or if they load an MPA. Users can then participate in a dialog via a traditional discussion forum that is linked to the map. Furthermore, users will be able to define a geographic region and subscribe to RSS feeds (using GeoRSS) for any activity within that region. One might choose to do this, for example, if they want to be notified by email any time somebody draws a new MPA in, or makes a comment about a data layer in a specific region that he / she cares most about. I believe the map-based discussion forum will go a long way in facilitating discussion about MPAs, particularly outside the in-person monthly stakeholder meetings.

Conclusion: Thanks so much for the informative Q&A session. Please check out the MarineMap project at MarineMap.org/marinemap.

Great Script for Simplifying Paths in Illustrator (Kelso)

Monday, March 30th, 2009

[Editor’s note: Cartographers looking for Douglas-Peucker type line simplication in Illustrator now have a solution to Illustrator’s default simplify command when trying to generalize features like river oxbows. Jim started on the problem of fixing an Illustrator bug (see image above) where redundant points were created in the path outline command, and now has a more generalized solution.]

Jim Heck shared an amazing tool for Adobe Illustrator with me recently to deal with the irritating bug in versions CS3 and CS4 where redundant points (stacked on top of each other, illustrated above where the dupplicate points are pulled away from the basic shape) are created on outline or offset of a path’s stroke. The script (in Javascript) and Action set he created quickly remove these redundant points while still keeping the path shape. He does this with a bit of behind the scenes trigonometry wizardry. Please note this bug still exists in CS4 contray to rumors, though is lesser virulent form than CS3 (confirmed by me via email with Adobe engineers).

I’ve worked with Jim to refine it the last couple weeks. I think it’s ready for prime time now.

Screenshots:

Settings shown to remove redundant points for outlined path screenshot above. I used a tolerance of 12 points for the river ox bow screenshot below.

How it works:

  • Selected path points only or all document paths
  • Set distance tolerance in page units (optional)
  • Works in locked objects
  • Works in compound paths
  • Reporting, Selection, and Removal modes

Cartographic applications:

I illustrate below the result of using Jim’s generalization script on a typial river path and you can see in area 1a and 2b how the ox bow removal is light years above Illustrator’s default path simplify command which grossly distorts the shape in the pursuit of point removal. Jim’s script preserves the shape and removes the tiny, tight wiggles. It needs a little bit more programming work to fix areas 1b and 2a + 2c where the shape is loosing some fidelity for not keeping the trailing point in the series of removed points. And maybe needing to keep an intermediary point between 2a and 2c for shape since this is a longer removal?

With a little more tweaking, this tool will become popular for cartographers since we often want to simplify lines while keeping the overall geometry shape when reducing clustered points. The opposite may be achievable, too, when adding points selectively to long curves, but NOT to segments of the line that are already dense with points. But that’s for a 2.0 release 😉

Download the script and actions from Jim Heck’s site . . .

Create Calendars Automatically in Illustrator: Version 5 (Kelso)

Tuesday, February 17th, 2009

[Editor’s note: I have updated my Calendar script to version 5. It now automatically formats the text with tab stops, date box grid, and art placeholders. Tooltips help explain the options and the script will automatically create a document if one is not open. Over 25 new features, updates, and bug fixes. Screenshots and native Illustrator template files included at end of post.

Magicien de calendrier, Kalender-Zauberer, Mago del calendario, 日历巫术师, カレンダーの魔法使い, Чудодей календара.]

ai cs3 logoI was asked recently if I could automate the creation of calendars in Adobe Illustrator. It turns out there are a couple script for accomplishing this in InDesign (best is from sselberg), but only pre-built templates for Illustrator. If you need a new year, you’d have to search for a new template, which is lame. New script to the rescue! Thanks go to Joyce for this suggestion.

NOTE: The script is free to download and use. There is no license fee for publication of calendars based on the script. I reserve the right in the future to start charging a fee for the script. But this version is free.

Download version 5 of Calendar Script (100 k).

To install new scripts you need to:

  • Download the binary file using “Save as”. The file contents look like gobly-gook.
  • Quit Illustrator
  • Copy the file into the Illustrator application folder’s “Presets” » “Scripts” subfolder
  • After restarting Illustrator, you can find the scripts in the menu “File” » “Scripts”;
  • TIP: You can create subfolders in the scripts folder to organize your scripts

NOTE: You will need version CS3 or CS4 of Illustrator. If you have CS or CS2, get a trial version of CS4 from Adobe. Also see posts about version 3 and version 4 of the Calendar script.

New features and bug fixes in version 5:

NEW FEATUES

  1. NEW: Tab stops supported!!! Date numbers are automatically spaced over the correct distance 🙂 Big thanks go to N at Adobe Developer Support on this one.
  2. NEW No longer requires an open document, one will be created for you in the right page size if necessary.
  3. NEW “help” tooltips on all the wizard options (thanks John!). Tooltips are only in English now, other languages in future update.
  4. NEW Wall calendar style has grid of date boxes.
  5. NEW Wall, page, and compact calendar styles has art hole (for placement of photos, etc).
  6. NEW starting month and starting and ending year now relative to the current date (was always Jan 2009)
  7. NEW if 12-up type calendar selected, the current year’s 12 months are auto enabled
  8. NEW mini Page calendar type for making the mini calendars
  9. NEW mini Wall calendar type for making the mini calendars
  10. NEW Tabloid calendar type for big wall calendars for each month with big big numbers
  11. NEW mini Tabloid calendar type for making the mini calendars
  12. NEW Compact calendar type for calendars that are suitable for newspaper

UPDATED FEATURES

  1. UPDATE: Existing templates updated with tab stops, text sizes, other formatting
  2. UPDATE mini “business card” type calendar uses underlining for the day header, removed trailing tab, and adjusted gutter width
  3. UPDATE Page calendar type now based on letter page size with big numbers
  4. UPDATE Wall calendar type now based on tabloid page size with date numbers in corner of grid cells
  5. UPDATE Wall calendar type now auto-shrinks the text frame if a month has a short number of weeks.

BUG FIXES

  1. BUG FIX: Month lines now auto-centered
  2. BUG FIX: Leading space in month name line removed
  3. BUG FIX: Fail on selected text if it is point or path. Now creates new text frame at the same location.
  4. BUG FIX: Changing calendar size / style now sets the right day header abbreviation (shorten, letter)
  5. BUG FIX: Change of character format from month header to date in calendar page function (remove underlining)
  6. BUG: Page 12-up style calendar now the same size and style as a Page 1-up but with extra months (had been compact like). Expand or link the text frame to see additional content that is hidden at first.
  7. BUG: Abbreviation for “Jan” lacked the . period (thanks John).
  8. BUG: Custom language did not show the current settings for English (default) to edit. Now it does (disabled Holiday for now).
  9. BUG: Canceling “custom language” dialog now returns to previous language preset, not English.
  10. BUG: Enabling multi-month calendars via check box now works after choosing a single month calendar preset.
Version 6 Plans
  • Holidays and lunar phases are still not supported. Please stay tuned for version 6. What types of holidays do you want to see supported? Do you need iCal support?
  • Add multi-lingual tooltips. Refine translation of main interface for supported languages.
  • Automatically create and position the before-month and after-month mini-calendars.
  • Timeline calendar format (three linear, sequential rows of year, month, and dates)
  • Sports (game day) calendar format with support via “holiday” interface
  • Option to flowing multiple month calendars to new text blocks (via artboards in CS4+)
  • Orientation option when dealing with multiple months text blocks (horizontal, vertical, grid)
  • Any other suggestions? I’ll take a couple month breather and then return to this project.
Screenshots showing English, German, and Chinese interfaces. Also the custom language settings dialog.

There are several sizes of calendars:

  1. Tabloid calendar with larger date numbers grid (no boxes) on tabloid size 2/3rds of page.
  2. Tabloid mini 1 month that fits below the main calendar in 1/6th of tabloid size page (prior month, next month).
  3. Wall calendar with smaller dates in box grid (boxed dates) on tabloid size half-page with room for half page of art (horizontal / landscape 8.5 x 11 inch page).
  4. Wall mini 1 month calendar that fits in a date square in a wall calendar (prior month, next month).
  5. Page calendar, larger dates fill grid (no boxes) on 8.5 x 11 inch page.
  6. Page calendar, larger dates fill grid (no boxes) – 12 months at a time option.
  7. Page mini calendar, calendar that fits in a date square in a page calendar (prior month, next month).
  8. Compact calendar, 12 months small enough to fit on a single 8.5 x 11 inch page with artwork.
  9. Mini calendar, 12 months small enough to fit on a business card.

All calendars are Multi-lingual. Languages include English, Deutsch, Español, Français, 中文, 日本語, русский язык, and custom. This affects both the graphical dialog for creating the calendars and the month and day words in the calendar itself when it is created.

NOTE: While character and paragraph styles are created for each style of calendar (you can have multiple calendar types in one document), there is an error with Adobe Illustrator where you do not actually see this script-created styles until you either (a) save the document – thanks JC, or (b) switch back to the document from another (open or new) document.

SCREENSHOTS
Tabloid (1 month on tabloid 11 x 17 inch page – with artwork)
Download native Illustrator file.
Wall (1 month on tabloid 11 x 17 inch page – horizontal 8.5 x 11 inch – with artwork)
Download native Illustrator file.
Page (1 month on portrait 8.5 x 11 inch page with artwork)
Download native Illustrator file.
Compact (12 months on portrait 8.5 x 11 inch page)
Download native Illustrator file.
Mini (business card)
Download native Illustrator file.

Create Calendars Automatically in Illustrator: Version 4 (Kelso)

Thursday, January 8th, 2009

[Editor’s note: I have updated my Calendar script to version 5 on 17 February 2009. Magicien de calendrier, Kalender-Zauberer, Mago del calendario, 日历巫术师, カレンダーの魔法使い, Чудодей календара.

Get version 5 and read more about the changes and see new templates.

WARNING! The information below is OUT OF DATE! ]

[Editor’s note: I have updated my Calendar script to version 4. I now support multiple languages and fixed a few bugs. New video helps users set up tabs and change character styles. Magicien de calendrier, Kalender-Zauberer, Mago del calendario, 日历巫术师, カレンダーの魔法使い, Чудодей календара.]

ai cs3 logoI was asked recently if I could automate the creation of calendars in Adobe Illustrator. It turns out there are a couple script for accomplishing this in InDesign (best is from sselberg), but only pre-built templates for Illustrator. If you need a new year, you’d have to search for a new template, which is lame. New script to the rescue! Thanks go to Joyce for this suggestion.

Download version 4 of Calendar Script (71k).

NOTE: You will need version CS3 or CS4 of Illustrator. If you have CS or CS2, get a trial version of CS4 from Adobe. Also see post about version 3 of the Calendar script.

New features and bug fixes in version 4:

  1. Multi-lingual: Languages added for English, Deutsch, Español, Français, 中文, 日本語’, русский язык, and custom. This affects both the graphical dialog for creating the calendars and the month and day words in the calendar itself when it is created.
  2. No longer need to have text frame selected, one will be created for you. If a text frame IS selected, it will be used.
  3. Added ability to easily stylize weekend (Saturday and Sunday) dates numbers (eg gray or red).
  4. Equal row spacing between months checkbox now works.
  5. Buttons for current year and month now work.
I’m waiting on Adobe to let me know how to do the tab stops. In the meantime I’ve created a better video showing how to set these manually yourself (below) and change the character styles after the calendar is created.
Holidays and lunar phases are still not supported. Please stay tuned for version 5.
Screenshots showing English, German, and Chinese interfaces. Also the custom language settings dialog.

To install new scripts you need to:

  • Quit Illustrator
  • Copy the files into the Illustrator application folder’s “Presets” » “Scripts” subfolder
  • After restarting Illustrator you can find the scripts in the menu “File” » “Scripts”;
  • TIP: You can create subfolders in the scripts folder to organize your scripts

There are several sizes of calendars:

  1. Wall calendar with smaller dates in box grid (you add the boxes).
  2. Wall mini 1 month calendar that fits in a date square in a wall calendar (prior month, next month).
  3. Page calendar, larger dates fill grid (no boxes).
  4. Page calendar, larger dates fill grid (no boxes) – 12 months at a time option.
  5. Mini calendar, 12 months small enough to fit on a business card.
Screenshots
Traditional wall calendar with boxed dates and mini calendars for prior and next month, room above for a photo or illustration (January 2009). You make your own grid and the two wall mini months. Download editable Illustrator file.
Page calendar where dates fill entire box (no lines). You make your own wall mini calendars. Download editable Illustrator file.
Mini 12 month calendar sized to fit on business card with all 12 months of the year (shown larger than life below). Download editable Illustrator file.

View video demonstration of script (click to play, 9.3 megs):