The site uses cookies that you may not want. Continued use means acceptance. For more information see our privacy policy.

Prototyping a Search Form

Simple prototype of a search form with history concept.

jsfiddle.net: a prototype of a searchform

Decided to make a little prototype today, to get a feel how this kind of form might work.

Description: The form has “bookends” with the left representing the previous searches and the right representing future searches. That’s previous/future as in a kind of timeline.

Hovering over the bookend will show the chronologically-closest value alongside the current, and clicking will both go to that value and show the next in that direction. If there is more than one value in a direction, it shows a little dropdown, and you can jump to any point in the history from there.

It’s not the cleanest code, but it’s a prototype, and it does a decent job of letting me get a feel for if this kind of control is worth using.

It’s likely that other controls are more useful for most cases, but maybe this is useful for some. Particularly, it might be more useful if the whole history showed at once, and you could use arrow keys to move back/forth.

Anyway, I did this in JSFiddle, mainly because it’s easy enough to share and people can try it right there.

Just hover/click on the little ends on either side of the main form in the result area (bottom right pane).

edit: I embedded it here:

Analogies for Tech: The Web as Houses

I am examining potential analogies for explaining technology of various sorts to laypersons in the hopes they will grasp the relationships of the world they use every day. Today’s analogy is how building a web page is like building a house.

One of the historical patterns we see is where a specific field or part of life moves from being expert to common.  That’s been true with reading over time, for example.  It’s been true with automobiles in some countries.  There was a time when only women had babies….okay, you got me there.

But over time there’s an expectation in the computer industry that average people will learn technology to a greater degree, even if not to the same depth as a computer scientist or computer engineer.

I am examining potential analogies for explaining technology of various sorts to laypersons in the hopes they will grasp the relationships of the world they use every day.  I’ve already given part of the explanation of why, but here’s the other part:

Until you see the cracks in the walls with the sunlight slicing the darkness, and until you see the bubbles rising to the edge of the universe and ask what if it isn’t the edge at all, you have very little reason to jump out of the water or break into the day.

With that I hope to, from time to time, examine potential analogies for bits of technology.

The Web

The metaphor for the web is moving to a house you are building. In this, HTML is a set of special boxes.  You have some like title that are meant for very particular contents. You don’t put your china in a box with your hammers.

You have other boxes like html itself, which are there to hold everything you put in them. You put your china in one box, and your hammers in another, but both of those boxes can fit in a third, bigger box. That bigger box is actually the truck, in this case, but you might have palettes that hold many smaller boxes, as with something like div.

Then you have CSS, which are tags you attach to the boxes to tell the movers where they go. “This is a very dark brown room.” Or, “all of the windows should be blue, but after you have looked through one, it is purple.”

If you’ve seen that last bit, it’s the style applied to links using the default styles of most web browsers.

That’s right. There are default styles that come with the browser. They are there so that if you don’t specify, there’s a good base to work from.

Now, additional styles let you override those defaults, but there are also some amount of styling implied in the way you pack your boxes.

If you put some text in one box, then it will end up together in the house unless the styles applied are very explicit.

You also have peculiar boxes like script, which tell the builders that they contains fixtures or robots that will respond to visitors to the house in some way. They might be faucets that will, when turned on, create or delete whole rooms. They might be spy cameras to watch the visitors and tell the owners of the house what they did in the house.

Extending the metaphor out, the creator of the document packs everything up in their boxes with their blueprints and send them up to a server. Then you visit the server and it spits out the boxes with the blueprints, which your builder, the browser, assembles.

Some of the documents aren’t made in that way. Increasingly, the houses of the web are made in factories called applications. Think about some service like Google Search. They have thousands of computers working to find the content all over the internet, and when you search those computers shove that content into the right boxes with the blueprints and styles and deliver them to you.

Anyway, I guess that’s enough about the web for today. Did this analogy make it clear how the web works?

Welcome to… Firefox 6?!

Firefox 4 will come out next week, but Mozilla is looking forward to several more releases this year. A lot of people are whining about browser version number hyperinflation, but that’s not what this is about. It’s about a better browser.

There’s a new Firefox development process (PMO: Mozilla Firefox Development Process (draft)).  Firefox 4 will come out next week, but Mozilla is looking forward to several more releases this year.  A lot of people are whining about browser version number hyperinflation, but that’s not what this is about.  It’s about a better browser.

The reasons for the change are several:

Web Growth

The web is growing as fast as ever.  New technologies are rolling out, and the landscape keeps changing.  This calls for more active browser development than before.  It’s not just about enhancing the workflow you’re used to, but about making the browser fit with the changes to your browsing habits as the web changes.

Better UX

More releases means more refinement in existing browser design and in new design.  As GNOME and Ubuntu prepare to release reimagined desktops, one of the big results is going to be the fallout from the shock of major changes.  Users adjust better to gradual changes in their software, as it moderates the learning curve and increases their ability to have moments of discovery.

Improved Consistency

One of the major issues with long release cycles is that some features just aren’t ready in time, but the organization is so invested that it wants to hold the release for them.  Other features aren’t ready, but they just gather dust for a year or two.  Faster releases means more features, because there’s less pressure to get that one big feature that isn’t ready.

Happy Developers

One of the best arguments for faster releases is that community contributors are happier.  The patch they just landed can actually see daylight in a reasonable timeframe.  That means they get more reinforcement from contributing and will do so more often.

Less Work

And the final reason to push for tighter loops is that it’s less work per loop.  It’s the difference between driving under an overpass and through a tunnel.  When you enter a tunnel it feels like time has stopped.  You’re just seeing the same thing over and over.  There’s no feedback.  It can even cause a feeling of despair and remorse for having ever entered the damn thing.  Will it ever end?  This tunnel… it’s eating my soul.  When you have a shorter tunnel, you can see daylight before you’re even halfway in.  It feels good.

I’m very glad to see this change in Mozilla.  It has every sign of making their browser much better, and the whole web will benefit.