Sunday, November 06, 2016
Getting to the Bottom of It
In today's world we have many large controversial topics that we keep going around and around on, instead of just getting to the bottom of. I'm sure there are many reasons for this, many of which don't have anything to do with rational discourse, but let's pretend for a moment that a little rational discourse can at least make a small improvement.
Part of the problem with these big topics is that they are so multifaceted, it's hard to hold it all in your head at once. What we need is a big map starting from a simple premise and going down, down, down through all the pros and cons, twists and turns, branching into every subtopic, to fully cover every facet. I'm confident this information is already available; it just needs to be organized.
I'm imagining a website for this. Anyone can start a new topic, e.g. "is global warming real?" Then anyone can add pro or con posts, and anyone can add rebuttals to each, and rebut the rebuttals and so on. Once a topic is in place, you can navigate it by expanding the areas that interest you, until you get to the bottom of it.
In order for this to work, a lot of care needs to go into making sure the structure is clean… No circular arguments, no logical fallacies. All of the misinformation needs to be debunked (not just buried). Wherever possible there should be links to primary sources. Each answer needs to cover a single point. This means there needs to be as much energy and facility directed toward structural work as there is toward content contribution.
So, for instance, redundant answers need to be able to be merged; answers covering multiple points need to be split; points that have been covered elsewhere need to be linked; logical fallacies need to be flagged; etc. Of course each of these actions need to be vettable, so improperly merged, split, or flagged items can be undone. All of this activity needs to be transparent.
Even if a thing like this won't resolve these arguments directly, it would be an invaluable resource for those working to do so.
Part of the problem with these big topics is that they are so multifaceted, it's hard to hold it all in your head at once. What we need is a big map starting from a simple premise and going down, down, down through all the pros and cons, twists and turns, branching into every subtopic, to fully cover every facet. I'm confident this information is already available; it just needs to be organized.
I'm imagining a website for this. Anyone can start a new topic, e.g. "is global warming real?" Then anyone can add pro or con posts, and anyone can add rebuttals to each, and rebut the rebuttals and so on. Once a topic is in place, you can navigate it by expanding the areas that interest you, until you get to the bottom of it.
In order for this to work, a lot of care needs to go into making sure the structure is clean… No circular arguments, no logical fallacies. All of the misinformation needs to be debunked (not just buried). Wherever possible there should be links to primary sources. Each answer needs to cover a single point. This means there needs to be as much energy and facility directed toward structural work as there is toward content contribution.
So, for instance, redundant answers need to be able to be merged; answers covering multiple points need to be split; points that have been covered elsewhere need to be linked; logical fallacies need to be flagged; etc. Of course each of these actions need to be vettable, so improperly merged, split, or flagged items can be undone. All of this activity needs to be transparent.
Even if a thing like this won't resolve these arguments directly, it would be an invaluable resource for those working to do so.
Labels: seeds
Tuesday, June 19, 2012
Red Pen
I'm an incurable proofreader. I grew up in a household that published a magazine, and now it's second nature to spot typos, improper homonyms, punctuation issues, etc., wherever they may be. Even when I find a typo on someone's website, sometimes I'm compelled to let them know. I figure it's the virtual equivalent of telling someone they've got broccoli in their teeth… a little embarrassing perhaps, but it saves them from greater embarrassment down the road.
What I (and all the other incurable proofreaders of the world) need is an easy way to inform the website owner, so bit by bit we can collectively clean up the writing on the Web!
Here's one possible design: A “red pen” bookmarklet sits in your browser, awaiting the moment you find some text that needs fixing. When that moment arrives, as it inevitably will, you select the offending text and hit the bookmarklet. Up pops a dialog box with the text, an opportunity for you to describe the correction, and a big friendly “send” button. Hitting the button e-mails your note, along with the URL of the page, to the best address we can find (if nothing else, the technical contact listed for that domain's WHOIS record). If this thing becomes popular enough, people will even register their websites with the service, to streamline the process.
What do you think? Is this the gadget you've been waiting for, or should we all just keep our writing critiques to ourselves?
What I (and all the other incurable proofreaders of the world) need is an easy way to inform the website owner, so bit by bit we can collectively clean up the writing on the Web!
Here's one possible design: A “red pen” bookmarklet sits in your browser, awaiting the moment you find some text that needs fixing. When that moment arrives, as it inevitably will, you select the offending text and hit the bookmarklet. Up pops a dialog box with the text, an opportunity for you to describe the correction, and a big friendly “send” button. Hitting the button e-mails your note, along with the URL of the page, to the best address we can find (if nothing else, the technical contact listed for that domain's WHOIS record). If this thing becomes popular enough, people will even register their websites with the service, to streamline the process.
What do you think? Is this the gadget you've been waiting for, or should we all just keep our writing critiques to ourselves?
Labels: seeds
Tuesday, March 20, 2012
Cool Music Interface Explorations
It seems like the music tech scene on the Internet is bursting with potential these days. Unfortunately, I've been so distracted with other projects that I haven't had a chance to do all the crazy cool things I want to with Fathom… I keep telling myself I'll get to it soon, but, well, so far that hasn't happened. There are sketches in my notebook, but not much else.
The good news is it hasn't stopped other folks from taking some of the same ideas and running with them. At least I get to see them in action, right?
For instance, I wanted to do a kind of group DJ/party/jukebox thing where everyone collaborates to make the mix we all listen to. Well, someone has made that:
I also wanted to make a service that would watch your social feeds for links to music recommendations and give you a “music inbox”. Yup, someone has made that, too:
Here's another one I at least got around to writing up (well, in terms of books): an easy way to share music recommendations without having to know what service your friends use for streaming. Sure enough, someone's made it:
Of course, they're not quite exactly what I would make, so maybe I'll still get around to playing with those ideas, but in the meantime, it's great to see all these explorations happening! I mean, if I'm not going to get around to it, someone should.
The good news is it hasn't stopped other folks from taking some of the same ideas and running with them. At least I get to see them in action, right?
For instance, I wanted to do a kind of group DJ/party/jukebox thing where everyone collaborates to make the mix we all listen to. Well, someone has made that:
I also wanted to make a service that would watch your social feeds for links to music recommendations and give you a “music inbox”. Yup, someone has made that, too:
Here's another one I at least got around to writing up (well, in terms of books): an easy way to share music recommendations without having to know what service your friends use for streaming. Sure enough, someone's made it:
Of course, they're not quite exactly what I would make, so maybe I'll still get around to playing with those ideas, but in the meantime, it's great to see all these explorations happening! I mean, if I'm not going to get around to it, someone should.
Labels: interchange, music, seeds
Wednesday, January 11, 2012
Issue Tracking for the Real World
Bug trackers are an essential part of software development; I'm not sure how we'd get anything done without them! Yet it seems much of the rest of the world hasn't tuned into their value. It's certainly not that there aren't things to fix in the real world! Perhaps it seems overly complicated. Yet people seem to be able to figure out how to use, say, Foursquare.
Working at Mozilla I was particularly taken by Bugzilla, and what a difference it makes. Not the software specifically, and certainly not the UI, which is in fact extremely complicated. The thing I was struck with is how anyone could come in and contribute, whether it be a bug report, a better set of reproduction steps, suggested strategies for fixing, actual patches, etc.
I want this for the whole world. I want to be able to file a bug report for a pothole, or a piece of bad legislature. I want to be able to file a feature request for a new park, or a light rail stop.
Once the report is filed, it needs to be easy to connect problems with people who have solutions, and it needs to be possible to take ownership of an issue. The bug report then becomes a record of the progress, the discussion, setbacks, etc. If you wonder why things are the way they are, you can read the paper trail.
In this way we create a marketplace of problems and solutions, and we make it easier to shed light on what's needed to fix things. By opening it up to the world, we can encourage people to get involved and take action.
This seems like something that could be cobbled together with various tools that exist (you know, Ushahidi meets Get Satisfaction meets the Portland Reporter meets Bugzilla), but ultimately I don't think that would be good enough. For people to actually use it, it needs to be clear, clean, and easy, focused on this specific problem space. For that reason, I think it has to be built.
So, I'm going to get started on it… anyone want to help?
Working at Mozilla I was particularly taken by Bugzilla, and what a difference it makes. Not the software specifically, and certainly not the UI, which is in fact extremely complicated. The thing I was struck with is how anyone could come in and contribute, whether it be a bug report, a better set of reproduction steps, suggested strategies for fixing, actual patches, etc.
I want this for the whole world. I want to be able to file a bug report for a pothole, or a piece of bad legislature. I want to be able to file a feature request for a new park, or a light rail stop.
Once the report is filed, it needs to be easy to connect problems with people who have solutions, and it needs to be possible to take ownership of an issue. The bug report then becomes a record of the progress, the discussion, setbacks, etc. If you wonder why things are the way they are, you can read the paper trail.
In this way we create a marketplace of problems and solutions, and we make it easier to shed light on what's needed to fix things. By opening it up to the world, we can encourage people to get involved and take action.
This seems like something that could be cobbled together with various tools that exist (you know, Ushahidi meets Get Satisfaction meets the Portland Reporter meets Bugzilla), but ultimately I don't think that would be good enough. For people to actually use it, it needs to be clear, clean, and easy, focused on this specific problem space. For that reason, I think it has to be built.
So, I'm going to get started on it… anyone want to help?
Sunday, November 06, 2011
Following the Sun
So, Daylight Saving Time is a bit silly:
… but I do like the idea of being more in touch with the seasons. Perhaps rather than adjusting the clock twice a year, how about something a little more gradual, a little more personal? Why not get up with the sun? More and more of us work in jobs where we can set our own schedule, so get an alarm (such as this one, though surely it could be improved upon) that you can set in relation to sunrise, and enjoy your journey through the seasons.
Actually, I think it'd be interesting to live for a while with a clock that told time all day in terms of distance from sunrise to sunset, rather than hours and minutes; what new habits and ideas would you gain from this perspective? What sorts of beautiful time displays could this inspire? I'll meet you at the pub at 1/8 'til sunset and we'll find out…
… but I do like the idea of being more in touch with the seasons. Perhaps rather than adjusting the clock twice a year, how about something a little more gradual, a little more personal? Why not get up with the sun? More and more of us work in jobs where we can set our own schedule, so get an alarm (such as this one, though surely it could be improved upon) that you can set in relation to sunrise, and enjoy your journey through the seasons.
Actually, I think it'd be interesting to live for a while with a clock that told time all day in terms of distance from sunrise to sunset, rather than hours and minutes; what new habits and ideas would you gain from this perspective? What sorts of beautiful time displays could this inspire? I'll meet you at the pub at 1/8 'til sunset and we'll find out…
Labels: seeds
Wednesday, March 23, 2011
Road Trip Tech Wishes
We recently went on a family road trip. I'd forgotten how much fun it is to get in a car and just go where the day takes you. We had somewhere to be, but we give ourselves enough time that we could take it easy and explore along the way.
Of course we had our iPhone with us. Google Maps and Yelp were awesome, helping us figure out where we are, where we're going, how long it'll take to get there, and what to eat when we arrived. They weren't much help, though, in helping us discover interesting side trips along the way.
What I want is a service that I can give a destination and when I need to be there, and it'll fill the duration with cool places to visit. It'll pay attention as you go, updating based on your actual trajectory. You can veto things or specify particular kinds of things you're interested in. Of course it'll learn what you like, and you can share favorites with your social network, and you'll be guided to places your friends liked.
It would also be nice just to be able to look at a map and get a sense for where the interesting places are. I'm not necessarily into your typical tourist attractions, like museums and parks. I find I love exploring new towns, especially those with charming historic districts. I'd like a map overlay that showed me just those towns. For that matter, how about a general “interestingness” heat map overlay?
Another thing we'd love, as we're cruising along, would be something that would tell us more about the place we're driving through; the history, geology, flora, fauna, etc. Kind of like an interactive museum guide, but for the whole world. Some of these places don't have good cell reception, so it would be great if you could tell it ahead of time where you're going and it could pre-cache content for that area.
Anyway, just some random thoughts from the road. I guess we'll have to try it again and do some serious R&D!
Of course we had our iPhone with us. Google Maps and Yelp were awesome, helping us figure out where we are, where we're going, how long it'll take to get there, and what to eat when we arrived. They weren't much help, though, in helping us discover interesting side trips along the way.
What I want is a service that I can give a destination and when I need to be there, and it'll fill the duration with cool places to visit. It'll pay attention as you go, updating based on your actual trajectory. You can veto things or specify particular kinds of things you're interested in. Of course it'll learn what you like, and you can share favorites with your social network, and you'll be guided to places your friends liked.
It would also be nice just to be able to look at a map and get a sense for where the interesting places are. I'm not necessarily into your typical tourist attractions, like museums and parks. I find I love exploring new towns, especially those with charming historic districts. I'd like a map overlay that showed me just those towns. For that matter, how about a general “interestingness” heat map overlay?
Another thing we'd love, as we're cruising along, would be something that would tell us more about the place we're driving through; the history, geology, flora, fauna, etc. Kind of like an interactive museum guide, but for the whole world. Some of these places don't have good cell reception, so it would be great if you could tell it ahead of time where you're going and it could pre-cache content for that area.
Anyway, just some random thoughts from the road. I guess we'll have to try it again and do some serious R&D!
Labels: seeds
Tuesday, February 01, 2011
Beauty and the Beast: Steampunk Superheroes?
We just watched the Disney version of “Beauty and the Beast” with Caitlyn. Of course Disney takes a number of liberties with the story (as anyone should when retelling a fairytale… were they not changed a thousand times before they were originally written down?). It struck me that they've actually set it up quite nicely as the origin story for a steampunk superhero duo.
I imagine us revisiting them several years later: Belle's love of reading and her father's passion for invention have led her to become quite the mechanical and scientific genius herself. Beast's experience as an animal, and his newfound empathy, have left him with a surprisingly deep connection with the natural world and all the creatures in it. Armed with these powers and their general love of all that is good and right, they wander the countryside in search of evil to vanquish with a motley collection of clever contraptions and helpful animals. I'm thinking sort of Girl Genius meets Dr. Dolittle (the original Victorian doctor, not Eddie Murphy's modern-day version).
After all, what's the fun of happily ever after without a little ass kicking?
I imagine us revisiting them several years later: Belle's love of reading and her father's passion for invention have led her to become quite the mechanical and scientific genius herself. Beast's experience as an animal, and his newfound empathy, have left him with a surprisingly deep connection with the natural world and all the creatures in it. Armed with these powers and their general love of all that is good and right, they wander the countryside in search of evil to vanquish with a motley collection of clever contraptions and helpful animals. I'm thinking sort of Girl Genius meets Dr. Dolittle (the original Victorian doctor, not Eddie Murphy's modern-day version).
After all, what's the fun of happily ever after without a little ass kicking?
Tuesday, December 28, 2010
Digital Pheromone Trails
Every month my neighborhood has a community cleanup day where we all get together and pick up trash. We meet at a central location, grab trash bags, and wander off in various directions. It's a lot of ground to cover, but we don't really plan it out or anything; people just follow their nose (so to speak).
I like that approach; it seems to deal better with the unpredictable aspects of the project (quantity of participants, nature and location of litter, etc.) than a more structured approach would. In fact, I'd say a general rule is the more unpredictable the situation, the less good upfront planning does you.
One challenge, though, after things get rolling, is knowing which areas have been covered and which ones haven't. Are you not finding trash on this particular street because there just wasn't any to begin with, or because someone's already gone through? What we need is some sort of pheromone trail, like ants or bees use, so we can keep track of the actions of the hive without having to explicitly coordinate with each other.
Turns out this would actually be pretty easy to do if everybody (or most everyone) has a GPS-enabled smartphone. The coordinator sets up a project that we all log into when we pick up our trash bags, and then as we wander around we leave GPS trails wherever we go. At any time, you can pull up a map on your phone to see what areas have been covered and which have not. For that matter, the coordinator can look at the historic data from previous events to get a sense for which areas are being ignored habitually, so they can direct someone there next time.
Of course you don't want to keep checking your phone all the time as you're walking around picking up trash; it would be nice if it could just nudge you when you're going in the wrong direction. In fact it can, by alerting you with a sound or vibration when you're heading into an area that's already been covered. That way it can gently guide you in the right direction without you ever needing to take the phone out of your pocket.
I figure this sort of thing would be useful for more than just neighborhood trash pickup day…
I like that approach; it seems to deal better with the unpredictable aspects of the project (quantity of participants, nature and location of litter, etc.) than a more structured approach would. In fact, I'd say a general rule is the more unpredictable the situation, the less good upfront planning does you.
One challenge, though, after things get rolling, is knowing which areas have been covered and which ones haven't. Are you not finding trash on this particular street because there just wasn't any to begin with, or because someone's already gone through? What we need is some sort of pheromone trail, like ants or bees use, so we can keep track of the actions of the hive without having to explicitly coordinate with each other.
Turns out this would actually be pretty easy to do if everybody (or most everyone) has a GPS-enabled smartphone. The coordinator sets up a project that we all log into when we pick up our trash bags, and then as we wander around we leave GPS trails wherever we go. At any time, you can pull up a map on your phone to see what areas have been covered and which have not. For that matter, the coordinator can look at the historic data from previous events to get a sense for which areas are being ignored habitually, so they can direct someone there next time.
Of course you don't want to keep checking your phone all the time as you're walking around picking up trash; it would be nice if it could just nudge you when you're going in the wrong direction. In fact it can, by alerting you with a sound or vibration when you're heading into an area that's already been covered. That way it can gently guide you in the right direction without you ever needing to take the phone out of your pocket.
I figure this sort of thing would be useful for more than just neighborhood trash pickup day…
Labels: seeds
Tuesday, July 20, 2010
Upcoming Movies
Okay, here's the next thing I want: a site/service that's single-mindedly devoted to getting me out to the movie theater.
It collects upcoming movies that I'm interested in seeing (more on how it does that in just a moment). It lets my friends know what I'm interested in, and when there is overlap it helps us schedule movie outings. It reminds me when the movies come out and lets me know where they're playing. If all else fails and I miss one in the theater, it helps me add it to my Netflix queue.
So how does it collect the movies I'm interested in? Well, you can certainly add them manually. Perhaps there is also a bookmarklet that'll add whatever movie you're looking at on any number of popular movie sites. That's all good, but what I really want is to just sit back and watch trailers.
So it's got a mode where it fills the screen and plays one trailer after the next. No fiddling around with lists or clicking through "interactive marketing experiences"; just an uninterrupted stream of trailers. Maybe it does this based on what you like, or based on what your friends are interested in, or whatever. Any trailer you like, hit the thumbs up; otherwise skip it or just let it play.
For that matter, where else do you just sit and watch trailers? At the movie theater. With a little bit of net infrastructure and a couple taps from you, we could sync your phone up to the trailer roll and give you that thumbs up button right there in the theater (of course we'd make a low-light interface so it won't bother your neighbors… we're not monsters after all).
So that's what I want, is that so much to ask?
It collects upcoming movies that I'm interested in seeing (more on how it does that in just a moment). It lets my friends know what I'm interested in, and when there is overlap it helps us schedule movie outings. It reminds me when the movies come out and lets me know where they're playing. If all else fails and I miss one in the theater, it helps me add it to my Netflix queue.
So how does it collect the movies I'm interested in? Well, you can certainly add them manually. Perhaps there is also a bookmarklet that'll add whatever movie you're looking at on any number of popular movie sites. That's all good, but what I really want is to just sit back and watch trailers.
So it's got a mode where it fills the screen and plays one trailer after the next. No fiddling around with lists or clicking through "interactive marketing experiences"; just an uninterrupted stream of trailers. Maybe it does this based on what you like, or based on what your friends are interested in, or whatever. Any trailer you like, hit the thumbs up; otherwise skip it or just let it play.
For that matter, where else do you just sit and watch trailers? At the movie theater. With a little bit of net infrastructure and a couple taps from you, we could sync your phone up to the trailer roll and give you that thumbs up button right there in the theater (of course we'd make a low-light interface so it won't bother your neighbors… we're not monsters after all).
So that's what I want, is that so much to ask?
Friday, June 11, 2010
Recipe Collector
This one's actually Christina's idea, but I'm embellishing on it.
We are getting into doing more cooking from recipes found online (thanks in part to the kitchen-friendly portability of the iPad), and while it's great to have resources like Epicurious and Big Oven (which, interestingly enough, has an API), it's also fun to find recipes and cooking suggestions on our favorite blogs. The thing is, once you've found them, there's no good way to collect them. You can star them in Google Reader and give them a "cooking" tag, or you can bookmark them on Delicious, but these are general-purpose tools; they don't know anything about recipes. It would be fun to have a service that was focused on recipes, but that allowed you to pull them from all over the web, kind of an Instapaper for cooking.
I'm imagining you'd have a bookmarklet that you can use to collect a page. It might also be nice to have an e-mail service to integrate with Google Reader and Mobile Safari. Just hit their "e-mail this" buttons and send it to a special address on the service and it'll add it to your collection. This would save a couple steps, and in the case of Reader, would allow you to collect just the portion that showed up in RSS (the actual content) rather than the whole page with all of its superfluous junk.
Once you've collected the recipes, you should be able to do the usual recipe things, like flipping through them, displaying them in a cooking-friendly fashion, and writing notes about how it turned out, changes you made, suggestions for next time, etc. For that matter, the service can dig through the various posts and to detect ingredients and other key elements, for easy categorization and searching.
I could imagine a whole series of specialized web collection services, one for recipes, one for travel, one for craft projects, etc. Sure, all you really need is Delicious or whatever, but by specializing on a particular topic, you can craft the experience around the specific needs of that interest.
We are getting into doing more cooking from recipes found online (thanks in part to the kitchen-friendly portability of the iPad), and while it's great to have resources like Epicurious and Big Oven (which, interestingly enough, has an API), it's also fun to find recipes and cooking suggestions on our favorite blogs. The thing is, once you've found them, there's no good way to collect them. You can star them in Google Reader and give them a "cooking" tag, or you can bookmark them on Delicious, but these are general-purpose tools; they don't know anything about recipes. It would be fun to have a service that was focused on recipes, but that allowed you to pull them from all over the web, kind of an Instapaper for cooking.
I'm imagining you'd have a bookmarklet that you can use to collect a page. It might also be nice to have an e-mail service to integrate with Google Reader and Mobile Safari. Just hit their "e-mail this" buttons and send it to a special address on the service and it'll add it to your collection. This would save a couple steps, and in the case of Reader, would allow you to collect just the portion that showed up in RSS (the actual content) rather than the whole page with all of its superfluous junk.
Once you've collected the recipes, you should be able to do the usual recipe things, like flipping through them, displaying them in a cooking-friendly fashion, and writing notes about how it turned out, changes you made, suggestions for next time, etc. For that matter, the service can dig through the various posts and to detect ingredients and other key elements, for easy categorization and searching.
I could imagine a whole series of specialized web collection services, one for recipes, one for travel, one for craft projects, etc. Sure, all you really need is Delicious or whatever, but by specializing on a particular topic, you can craft the experience around the specific needs of that interest.
Labels: seeds
Thursday, May 20, 2010
Artist-Friendly JavaScript
Much has been said recently about the "death match" between Flash and JavaScript (which, come to think of it, must make Silverlight feel awfully lonely). As far as I'm concerned, we should all just get along; diversity is good. That said, I'm definitely a JavaScript guy.
It's wonderful how far JavaScript has come in recent years in terms of being able to run graphically rich experiences, but there's one crucial area that everyone seems to be ignoring: there are no artist-friendly tools for creating such experiences. One of Flash's major strengths has nothing to do with technology, per se: it's the fact that the Flash authoring environment originated as an animation studio for artists. Over the years, they've added all sorts of programmer-friendly features, but its heart and soul is still artistic creative expression.
On the other hand, JavaScript, for all its strengths, is still a programmers-only club. You can make amazing things with it, but only if you can sling the code. This locks out the very people who are going to elevate it to an art form. It's time for this to change. Someone needs to make an authoring environment for creating graphically rich, interactive, animated experiences that run in JavaScript.
That's a big task, especially if your goal is to end up with something as deep as the Flash authoring environment, but it needs to happen, and it's not going to get any easier the longer we wait. The good news is that, unlike the singular entity that is the Flash studio, these JavaScript tools can be distributed; different teams can work on different parts of the problem, integrating with common protocols that emerge. In fact, developing an open format for describing such creations would allow a variety of tools, written by any number of groups, to all interoperate.
So, what's a good chunk to bite off first? How about a simple, user-friendly web app for doing animations?
It's wonderful how far JavaScript has come in recent years in terms of being able to run graphically rich experiences, but there's one crucial area that everyone seems to be ignoring: there are no artist-friendly tools for creating such experiences. One of Flash's major strengths has nothing to do with technology, per se: it's the fact that the Flash authoring environment originated as an animation studio for artists. Over the years, they've added all sorts of programmer-friendly features, but its heart and soul is still artistic creative expression.
On the other hand, JavaScript, for all its strengths, is still a programmers-only club. You can make amazing things with it, but only if you can sling the code. This locks out the very people who are going to elevate it to an art form. It's time for this to change. Someone needs to make an authoring environment for creating graphically rich, interactive, animated experiences that run in JavaScript.
That's a big task, especially if your goal is to end up with something as deep as the Flash authoring environment, but it needs to happen, and it's not going to get any easier the longer we wait. The good news is that, unlike the singular entity that is the Flash studio, these JavaScript tools can be distributed; different teams can work on different parts of the problem, integrating with common protocols that emerge. In fact, developing an open format for describing such creations would allow a variety of tools, written by any number of groups, to all interoperate.
So, what's a good chunk to bite off first? How about a simple, user-friendly web app for doing animations?
Labels: seeds
Sunday, April 25, 2010
My First Programming Toy
I started using computers when I was nine, and I started programming the same year. You kind of had to know a little programming to get anything done on those computers anyway, and it was a smooth ramp from there to writing real programs.
Caitlyn started using computers when she was two, and both her parents program, so I suspect she'll get into it sooner or later. I'm actually confronted fairly often with how best to introduce someone, not just my own daughter, to the world of programming. Nowadays you can get by on computers just fine without any programming knowledge (though some of the things you can do with Google start to feel a little like code), and "real programming" is done with complicated, and sometimes expensive, tools.
I always point to JavaScript, because it's available in every browser, all you need is a text editor, and you can immediately make interesting, visual things happen. The thing is, how can we make it even easier and more fun?
One of the things that got me (and countless others of that era) started programming was the programming language Logo, and particularly its "turtle graphics" feature. Basically you used simple text directions, such as "move 10" or "rotate 45" to move a little "turtle" around the screen. The turtle had a pen it used to draw as it moved, and you could make all sorts of neat patterns by combining those simple commands into routines.
So, I propose to make an interactive graphics programming environment inspired by turtle graphics, but using JavaScript as the language. It would be a webpage with a large drawing area and a small text entry area. The turtle starts in the middle of the drawing area and moves around as you type directions, such as "move(10)", and press return. If you start a line with "function", you're allowed to write multiple lines, until the ending curly bracket.
In this way you can get started doing real programming, with a real programming language, with immediate visual feedback and lots of room to experiment. Of course I want it to work in both desktop browsers and the iPad Safari, and it needs to be something a five-year-old (assuming basic reading skills) can use.
Actually, this seems like something that should exist already, but I haven't been able to find it. If you know of one, please let me know... otherwise I'll just have to make it.
Related:
ContextFree.js & Algorithm Ink: Making Art with Javascript (Aza Raskin)
Kodu (FUSE Labs)
Programming without math (Ken Perlin)
Light-Bot (Armor Games)
Caitlyn started using computers when she was two, and both her parents program, so I suspect she'll get into it sooner or later. I'm actually confronted fairly often with how best to introduce someone, not just my own daughter, to the world of programming. Nowadays you can get by on computers just fine without any programming knowledge (though some of the things you can do with Google start to feel a little like code), and "real programming" is done with complicated, and sometimes expensive, tools.
I always point to JavaScript, because it's available in every browser, all you need is a text editor, and you can immediately make interesting, visual things happen. The thing is, how can we make it even easier and more fun?
One of the things that got me (and countless others of that era) started programming was the programming language Logo, and particularly its "turtle graphics" feature. Basically you used simple text directions, such as "move 10" or "rotate 45" to move a little "turtle" around the screen. The turtle had a pen it used to draw as it moved, and you could make all sorts of neat patterns by combining those simple commands into routines.
So, I propose to make an interactive graphics programming environment inspired by turtle graphics, but using JavaScript as the language. It would be a webpage with a large drawing area and a small text entry area. The turtle starts in the middle of the drawing area and moves around as you type directions, such as "move(10)", and press return. If you start a line with "function", you're allowed to write multiple lines, until the ending curly bracket.
In this way you can get started doing real programming, with a real programming language, with immediate visual feedback and lots of room to experiment. Of course I want it to work in both desktop browsers and the iPad Safari, and it needs to be something a five-year-old (assuming basic reading skills) can use.
Actually, this seems like something that should exist already, but I haven't been able to find it. If you know of one, please let me know... otherwise I'll just have to make it.
Related:
ContextFree.js & Algorithm Ink: Making Art with Javascript (Aza Raskin)
Kodu (FUSE Labs)
Programming without math (Ken Perlin)
Light-Bot (Armor Games)
Labels: seeds
Sunday, April 11, 2010
Book Page Interchange
The "Amazon to Seattle Public Library" bookmarklet is pretty spiffy, but what if I want to go the other way? Or how about from Amazon to Goodreads, or WorldCat to Bookmooch? That's going to be a lot of bookmarklets...
What we need is a single bookmarklet that you can activate on a book page on any of these sites, and it'll pop up a panel with buttons for all the other sites. Well, there are hundreds of book sites, so we'll just do the top 10 or so and then maybe have a "more" option. Perhaps you can specify which sites go in your top 10. Anyway, clicking on one of those buttons takes you to the same book, but on that other site, simple as that. Now you're never stuck in one site when you want to be in another.
Of course we can do the same for any kind of entity that has multiple representations across sites, such as music, movies, people, word definitions, etc. Let's start with books, though.
A related problem is when you want to send a book recommendation to someone, which site do you link to? Perhaps our service could also host extremely simple book pages with all those site buttons, plus the author, title and book cover, but nothing else. Your friends (who perhaps aren't using the bookmarklet) can then follow the link to whichever site they prefer. Give these pages supershort URLs, and you've got a twitter-friendly, site-agnostic way to share book recommendations.
What we need is a single bookmarklet that you can activate on a book page on any of these sites, and it'll pop up a panel with buttons for all the other sites. Well, there are hundreds of book sites, so we'll just do the top 10 or so and then maybe have a "more" option. Perhaps you can specify which sites go in your top 10. Anyway, clicking on one of those buttons takes you to the same book, but on that other site, simple as that. Now you're never stuck in one site when you want to be in another.
Of course we can do the same for any kind of entity that has multiple representations across sites, such as music, movies, people, word definitions, etc. Let's start with books, though.
A related problem is when you want to send a book recommendation to someone, which site do you link to? Perhaps our service could also host extremely simple book pages with all those site buttons, plus the author, title and book cover, but nothing else. Your friends (who perhaps aren't using the bookmarklet) can then follow the link to whichever site they prefer. Give these pages supershort URLs, and you've got a twitter-friendly, site-agnostic way to share book recommendations.
Labels: interchange, seeds
Monday, March 29, 2010
The Joy Of Album Covers
I love iTunes, in the sense that it's where my music is, but seriously, look at that interface... it's just a big stupid spreadsheet with a play button tacked on! I don't want that; all I want are the beautiful album covers of all that wonderful music. Coverflow is a step in the right direction, but it's still too rigid and linear.
I love being able to set up a shuffle or a genius playlist and just go, but sometimes I like to get back into albums as albums. What's the point of getting new music if it's just going to dissolve into the sea of random shuffled tracks? Back in the days of CDs, whenever I got a new album, I'd keep it in the stack next to the player and it would go into heavy rotation until it had been burned into my brain.
Okay, so here's the idea: An app that gives you an alternative interface to iTunes that's all about the album covers. In fact, it's basically just a pile of album covers, some big, some little, arranged organically (no grids, no lists). Whenever you add a new album to your library, it shows up prominently. It pushes the other album covers out of the way a little bit. Albums you play a lot, or those you pick out special, stay prominent, while others fade away. Double-click on an album to play it. Delete an album if you don't like it. You could even have a Genius feature that highlights other albums like the current one, or causes them to all group together. Perhaps while the album's playing, the cover will get even more prominent, or we'll show other images related to that artist/album.
This app wouldn't be a replacement to iTunes. You may not even be able to access all of your music through it. It will, however, be a beautiful way to visualize and interact with your current high-rotation albums. If you're familiar with the old Mac app Clutter, it'll be a little like that, but more dynamic and more in tune with your play patterns.
I love being able to set up a shuffle or a genius playlist and just go, but sometimes I like to get back into albums as albums. What's the point of getting new music if it's just going to dissolve into the sea of random shuffled tracks? Back in the days of CDs, whenever I got a new album, I'd keep it in the stack next to the player and it would go into heavy rotation until it had been burned into my brain.
Okay, so here's the idea: An app that gives you an alternative interface to iTunes that's all about the album covers. In fact, it's basically just a pile of album covers, some big, some little, arranged organically (no grids, no lists). Whenever you add a new album to your library, it shows up prominently. It pushes the other album covers out of the way a little bit. Albums you play a lot, or those you pick out special, stay prominent, while others fade away. Double-click on an album to play it. Delete an album if you don't like it. You could even have a Genius feature that highlights other albums like the current one, or causes them to all group together. Perhaps while the album's playing, the cover will get even more prominent, or we'll show other images related to that artist/album.
This app wouldn't be a replacement to iTunes. You may not even be able to access all of your music through it. It will, however, be a beautiful way to visualize and interact with your current high-rotation albums. If you're familiar with the old Mac app Clutter, it'll be a little like that, but more dynamic and more in tune with your play patterns.
Tuesday, March 23, 2010
Seeds
I've got lots of ideas, so many I can't possibly implement them all, especially since I keep having new ones. I love to make stuff, but I don't think I'll ever run out of things to make, and the fact is that generally with an idea, I just want the thing to exist, regardless of who actually makes it.
For instance, a few years ago I came up with the idea of a micropatronage aggregator. Just recently, some folks have put together Flattr, along very much the same lines. I'm stoked! I hope it does well. Of course, I'd be happy to help out, but either way, I'm just glad it exists.
With that in mind, I intend to start sharing my ideas more frequently, on this blog. I'll tag them with "seeds", as a reminder that these are ideas I'm planting in the fertile soil of the Internet, with the hope that they will grow. Perhaps someone will be inspired by one and make something of it (and yes, it would be nice if they give me credit), or maybe someone will be so taken with an idea they hire me to implement it, or maybe the reaction to an idea will be so great I just have to drop my paying work and do it anyway, or maybe nothing at all will happen with them. However it works out, it's better than locking the idea away in my head, or on the many post-its littering my desk.
I already do this for writing, with Thoughtsam (here's a nice post on my intentions behind that project); now I'll be doing it with technology design.
For instance, a few years ago I came up with the idea of a micropatronage aggregator. Just recently, some folks have put together Flattr, along very much the same lines. I'm stoked! I hope it does well. Of course, I'd be happy to help out, but either way, I'm just glad it exists.
With that in mind, I intend to start sharing my ideas more frequently, on this blog. I'll tag them with "seeds", as a reminder that these are ideas I'm planting in the fertile soil of the Internet, with the hope that they will grow. Perhaps someone will be inspired by one and make something of it (and yes, it would be nice if they give me credit), or maybe someone will be so taken with an idea they hire me to implement it, or maybe the reaction to an idea will be so great I just have to drop my paying work and do it anyway, or maybe nothing at all will happen with them. However it works out, it's better than locking the idea away in my head, or on the many post-its littering my desk.
I already do this for writing, with Thoughtsam (here's a nice post on my intentions behind that project); now I'll be doing it with technology design.
Labels: seeds
Tuesday, March 02, 2010
You've Got Some Gimme Shiny In There
Part of the beauty of Gimme Shiny is that it's so simple, it can be used as a building block inside other things. The folks at ebStart figured that out a while ago, using Gimme Shiny to seriously upgrade their photo homepage. More interestingly, a Second Lifer, utilizing the new "Web on a Prim" feature, has found that Gimme Shiny makes a delightful piece of animated jewelry for their in-world character. I guess I do a similar thing in first life, using it as a screensaver on my living room TV.
I'd love to see more of this sort of stuff. I guess that means I should make it easier to embed a Gimme Shiny straight off the website.
In the meantime, give this a try if you're feeling enterprising, and let me know what you come up with!
I'd love to see more of this sort of stuff. I guess that means I should make it easier to embed a Gimme Shiny straight off the website.
In the meantime, give this a try if you're feeling enterprising, and let me know what you come up with!
<iframe style="width:475px; height:356px; border:1px solid black;" src="http://www.gimmeshiny.com/" scrolling="no" frameborder="1"></iframe>Labels: seeds
Saturday, January 09, 2010
Creativity & Ownership
It's a week until the start of my new adventure, and suddenly I'm feeling more creative than I have in many months! Perhaps it's just the impending change of scenery, but it's causing me to muse about one of the great creativity drains I found at Microsoft: the fact that they own all of your ideas.
Your employee agreement clearly states that the company owns everything you dream up on the job, but nowhere does it say that they have to do anything with it. It's like an idea black hole; you lose your ability to pursue the ideas, and in all likelihood the company won't bother. So you start to not share ideas you don't think have a good chance of making it, and eventually you stop having those ideas, until you just stop having ideas at all.
What if, instead, the company you worked for had "right of first refusal" to all of your ideas? If they utilize your idea, then it's all theirs. If they don't do anything with it within a certain time period, it's yours to pursue as you please. The company gets happier employees and the pick of the litter of a greater outpouring of ideas -- everybody wins!
Your employee agreement clearly states that the company owns everything you dream up on the job, but nowhere does it say that they have to do anything with it. It's like an idea black hole; you lose your ability to pursue the ideas, and in all likelihood the company won't bother. So you start to not share ideas you don't think have a good chance of making it, and eventually you stop having those ideas, until you just stop having ideas at all.
What if, instead, the company you worked for had "right of first refusal" to all of your ideas? If they utilize your idea, then it's all theirs. If they don't do anything with it within a certain time period, it's yours to pursue as you please. The company gets happier employees and the pick of the litter of a greater outpouring of ideas -- everybody wins!
Labels: seeds
Thursday, December 18, 2008
Automobile Apocalypse
In the last century, cars have made incredible progress at taking over our livable spaces. The public commons, once the cradle of human community, have been largely usurped by the automobile. It happened slowly, so it's easy to forget that there might be another option. The tide is turning, though, with more cities creating pedestrian-only zones, rejoining places like Venice who never left the pedestrian world.

Then there are places like Detroit, epicenter of America's car culture. Symbolic of humanity's domination by automobile is the Michigan Theater, once a golden-age movie palace, now a parking structure, its grand sculpture playing to a crowd of metal boxes with wheels.

Makes me want to do a series of art pieces of human places taken over by cars. Not anthropomorphized cars, mind you, but full-size impersonal hunks of metal, parked in a restaurant, a public restroom, a playground, your living room. Either that or take still frames from Pixar's Cars and insert reminders that people once lived there, before they were inexplicably eradicated; perhaps some human skeletons, or a baby doll with tire tracks over its mutilated torso.

Then there are places like Detroit, epicenter of America's car culture. Symbolic of humanity's domination by automobile is the Michigan Theater, once a golden-age movie palace, now a parking structure, its grand sculpture playing to a crowd of metal boxes with wheels.

Makes me want to do a series of art pieces of human places taken over by cars. Not anthropomorphized cars, mind you, but full-size impersonal hunks of metal, parked in a restaurant, a public restroom, a playground, your living room. Either that or take still frames from Pixar's Cars and insert reminders that people once lived there, before they were inexplicably eradicated; perhaps some human skeletons, or a baby doll with tire tracks over its mutilated torso.
Labels: seeds
Saturday, October 20, 2007
Viewing the World through Etymologically-Colored Glasses
Today's random project idea: a text reader that color-codes each word by some etymological factor, such as country of origin or how old the word is.
Labels: seeds
Saturday, September 08, 2007
Fade Away
I've just discovered Shoo Apps and Spirited Away, both of which hide background applications on your Mac to cut down clutter. I dig things like that; simple, thoughtful niceties. Here's my feature request: rather than blinking out of existence, I want the apps to slowly fade away.
Labels: seeds








