Categories
Technology

The tech that ticks

I am currently working with a small company to create an online store. When finished, I’ll point you in its direction–one of those very rare times when I’ve worked on a site that actually has a public interface I can point people to. Go, me. Go, company.

One decision we made right from the start: you don’t code from scratch when working with a common functionality such as a shopping cart/store front–you use existing code. Among all the many available packages we reviewed, we decided on using an open source PHP/MySQL solution, OsCommerce. One big difference, though, on using it straight out of the box is that I’m cleaning up the publicly accessed pages so they either use the Smarty Template engine, or simple and easy to use function calls that pull in the appropriate data. OsCommerce currently embedd barely wrapped functional calls to the database directly in the public pages, making them, frankly, a real mess for anyone but the most proficient PHP developer.

Once I create the non-business specific wrapper, regardless of what approach I use, this layer will go into the public domain, as a contribution to the open source community. Should be a satisfying effort.

There are other tools built on OsCommerce we could use; in fact, several. But they’re either commercial products with too restrictive licenses, or just about as messy in the public pages as OsCommerce (by ‘messy’ I don’t mean bad; I mean that there isn’t enough separation of the presentation from the process and the process from the data).

In other work, I also have the Rodent Regatta port from WP to MT and from HTML tables to CSS almost done, except for that damn problem with the vertical sizing of a contained element that is floated. I know about using clear:both in an element as the last element in the container, but I’m doing something wrong, it’s not working correctly.

Anyone spot what I’m doing wrong, or what I need to add?

Finally, I’m working with a couple of other people on a different site called the IT Kitchen (no relation to Doc Searls IT Garage–unless he wants to hook up, and he and the garage would be welcome). This site is going to host a two week interactive clinic focused specifically at non-techs, explaining as much about all of this as possible. Not everyone who programs is a professional; and not every non-geek weblogger wants to have others handle their CSS and basic site maintenance.

It’s going to be using a combination of technologies to ensure an interactive element, as well as provide a little something different. Everything will be Creative Commons or GPL licensed, and the static portion of the clinic will get wrapped into zipped files for copying when finished; the wiki and other interactive elements will, hopefully, continue to thrive on. Sort of a Wikipedia for webloggers.

(More on IT Kitchen later this weekend. )

I’m looking for volunteers, geek and non-geek, to help with this. Something like this is only going to work if its community driven. And If I don’t get enough volunteers, I’m going to continue quoting existential philosophers. Many more existential philosophers.

Speaking of existential, I’m finishing up my proposal for O’Reilly’s Emerging Tech Conference. I’m rather fond of it, but the success of the proposal is going to depend on who is judging the entries, and what their current focus is.

Categories
Technology Weblogging

Some Gratuitous Weblog Software Writing

I’m starting to get a pretty good handle on what WordPress 1.3 will be offering, both from the code and forum discussions. I also found a link in the support forum for a WordPress 1.3 release wiki, which details the individual changes.

(From the wiki software used, I wonder if the WordPress documentation wiki is being moved to MediaWiki – the same wiki software used for Wikipedia. We can only hope.)

I’ve discovered some of these changes with the work I did for Doug, am doing for Steve right this moment (you can see the actual transform taking place here, as I migrate the HTML table layout to pure CSS), Tim (if he doesn’t lose his heart to Tinderbox), and might be doing for Loren (if he has a mind for this direction, now that he knows I’m not disappearing at the end of the month).

One big change, and one I adore, is pagination. With this, search results and archives are now paginated to list twenty or so entries at a time, with navigation automatially handled to go back and forth in the list. If you’ve ever searched my site on say, ‘flower’, my but you’ll kill both your and my bandwidth. Pagination will eliminate this problem.

The developers are also providing a Dashboard, I think for an overall linking mechanism to the site and the features, but it’s still under development–right now there’s nothing in the page. and you’re redirected to new posts. They’ve also packaging themes into their own subdirectory, and you can install and switch between themes just by coping the files into the directory and clicking a button in the administration pages. This will be good if you like to play around with your site a lot.

Architecturally, for the tweakers, the individual global values that you used to access in code previously have been added to a general object, but the old global values are maintained for backwards compatibility, at least for one release. The organization of the pages has changed, with a new header and footer page, which should help make the pages a little cleaner to work with. Recently when I talked about keeping your weblog tool independent, I mentioned about a split between the content of the page before the posts, the post listings, and the content after the posts. This is mirrored in the WP page split between wp-header.php, index.php, and wp-footer.php. I like it.

There’s also been function changes, and I’m still exploring what these are. From what I read, existing functions will be supported in a deprecated state for at least one software release. Good for those who have tweaked their pages.

Multiple blog support isn’t there, but an interesting announcement was made last week for what sounds like might be a parallel branch of development called WordPress MU. This isn’t a ‘fork’ in the code (i.e. a new and separate development based on original code) as much as it is a ‘wrapper’ around WordPress, from what I’ve read. The announcement about it says that it provides both Smarty template support and multi-user/multi-weblog support–in hosted environments.

The multi-user/multi-weblog capability should make WordPress more attractive for those who need a classroom solution to weblog hosting – a tool that can be used to create many weblogs for many different people, but administered from one spot.

As for the use of the Smarty template system, I am curious if this can be dropped into a regular installation of WordPress, for those who would prefer Smarty over the embedded function calls. If so, this would make a nice option to those who are uncomfortable messing with PHP code directly. Where before a person did the following:

<?php the_date(‘’,'<h2>’,'</h2>’); ?>

They would, instead, use a Smarty template tag such as the following that would resolve to the function call:

<h2>{$smarty.now|date_format:”%Y-%m-%d”}</h2>

 

The sidebar is also split off into a separate file. This does concern me a bit from a design perspective as this tends to enforce a specific type of weblog look, the two column look.

As an aside from a discussion of WordPress 1.3, when Movable Type announced it was providing a dynamic PHP-based wrapper around Movable Type, I thought that the company would take core bits WordPress and modify these to point to their own database so that WordPress plugins and templates would work with the Movable Type database. With this, though users would have lost the Perl plugins for MT, they would have gained the PHP-based WordPress plugins. At least, those plugins that deal with parameterized data, only.

This wouldn’t be all that complicated either. Smarty could have been used to transform tags for the traditional MT users; while others could have used the WordPress embedded function calls (and themes) if they wished. Licensing wouldn’t have to be an issue because MT could continue to license the MT ‘engine’ with associate Perl code, and GPL’d the code for the PHP wrapper. They would gain friends from the open source community, while the supported, proprietary, corporate Perl code would still be there for corporate types who get nervous around the word ‘open’.

And wouldn’t this have been an interesting way to mix proprietary and GPL code?

Categories
Browsers

More on Firefox

Another new, or I should say heavily modified, feature I accidentally discovered with the RC 1.0 version of Firefox (I don’t think it was in the .9x releases) is the “Find in this Page” text search capability. Previously, the search function was a window that would open, you’d type in the phrase, and it would scroll to item.

Now when you click the link for “Find in this Page”, a bar opens at the bottom of the browser. As you type in the word you want to find, Firefox immediately scrolls to the first word that matches the letters as they are being typed. And it works very, very fast, too.

You can also highlight the words if you want to see all occurrances in the page. And leave the Find bar up for use in all your pages, if you’re doing some heavy researching on a term.

Firefox beats out any other browser I’ve used, on either my Mac or my Windows laptops. Unfortunately, I still have to use IE for printing on my Windows 2000 laptop because Firefox does not work well with my printer. In fact, I have to re-boot the machine to kill the runaway process triggered by Firefox if I forget and do a print. But the HP drivers I have for this printer are badly behaved anyway (I must see if there are updates that fix the problem) so I’m not blaming the browser.

Categories
Internet

Domains for free

Tripping over to Loren Webster’s In a Dark Time weblog, I was surprised to see “Domain expired”. However, it’s been renewed so more poetry should be forthcoming. If you’re thirsting for the words now, then you can use his “tilde” URL – http://gemini.hmdnsgroup.com/~loren/In_a_Dark_Time/. Now might also be a good time to go to his front page, because I can see he’s added new material. You won’t be able to comment, though, or access a permalink unti his DNS renewal has propagated throughout the threaded void. The registrars say up to 72 hours, and an expiration can take longer than a new domain. Still, less than a day, I estimate.

This is a good time to mention that several .info registrars, such as my own, Dotster are giving away free .info domains. One site started it – DomainSite, but they’ve since gone to a fee of 0.99. Which is still very cheap.

So far, I’ve snapped up the following domains:

burningbird.info
dynamicearth.info
lampsurvivalguide.info
netsurvivalguide.info
practicalrdf.info
missouriphotos.info
prettypics.info
shelleypowers.info
mirrorself.info
yasd.info
aboutwomen.info
ladygeek.info
ladygeeks.info
photobird.info
solarlily.info
itkitchen.info
bookofcolors.info
saltofthesea.info
reallysmartweb.info
reallysmartpeople.info
hintofspice.info
sensualist.info
pragmatist.info
poetryfinder.info

Some of these really beg for a site, don’t they?

There is a limit of 25 domains per registering entity, in this case myself. This may only be for each registrar, but I think 24 domains is enough, don’t you?

Why is this happening? Most likely to begin to fill up namespace for this new TLD (Top Level Domain), and start generating interest in the .info domain. This domain is an unrestricted domain, which means anyone can register a domain name–here’s your chance to have a free domain for one year. Next year, of course, it will cost you.

Going back a moment to Loren’s site, the use of the tilde (’~’) has been around since Apache was a pup, I believe. My first site was a ’tilde site’, before buying my first domain (not easy to obtain in the early days; free at first, and then horribly expensive until Internic decided to allow competition).

A tilde site is one in which multiple accounts are hosted in one shared environment, and each account has a specific name attached to it, such as my own, ’shelley’. These are hosted in a specific directory, usually labeled the ‘home’ directory. A person can then access the site using the IP address or general name for the server, followed by a /~(name), and the web server, at least Apache, will serve up the pages until whatever domain name they use propagates through the system.

So if I, in my gluttony and greed for domains, happen to forget to renew my burningbird.net domain registration (horrors!), you could still access my site using http://gemini.hmdnsgroup.com/~shelley/, or this weblog using http://gemini.hmdnsgroup.com/~shelley/weblog/.

Of course, using the tilde site to access the page could cause some interesting challenges if you’re using the top level relative URL, as I am using for some my of my stylesheet effort. The reason why is that the top level domain in this case is no longer burningbird.net, but gemini.hmdnsgroup.com. And there is no /look, /photos, or /mm subdirectory at this location.

Categories
Technology Weblogging

When is a weblogging tool like a washing machine

In comments to my post,WeblogTweaks: Tool Independence Jacques Distler wrote:

There are things that one can do in WordPress that one cannot (easily) do in MovableType. And there are things one can do in MT that one cannot (easily) do in WP.

The day that our tools become interchangeable is the day that one can truly say that innovation has died.

If the developers of weblogging software (and, in the case of MT and WP, the legion of plugin authors that surround them) are not producing cool new features that no one else has, then they are not doing their jobs.

It is deeply wrongheaded to hope for (let alone celebrate) the homogenization of this technology.

Leaving aside Jacques’ equating of tool independence with homogenization, I want to focus for a moment on his underlying assumption about the importance of innovation to most webloggers.

Two or three years ago, innovation was the heart and soul of weblog tool development primarily because most of the functionality to support weblog writing in early times was fairly primitive. In addition, a significant proportion of the people who weblogged then were just as interested in the nature of the medium, as they were in publishing their thoughts online. New innovations almost invariably broke new ground, and generated excitement that caused ripples felt throughout most of weblogging environment. This excitement, in turn, fed the innovation. as those who developed the gadgets and whatnots received plentiful feedback, encouraging them to yet more feats of development magic. It was bewildering and exciting and like flemings to the sea, we flocked from tool to tool based almost solely on innovation.

But then the innovations became to develop costs, such as over-aggresive aggregators that queried RSS feeds by the minute; or spammers blitzing our comments. Seeing our names at the top of a Google search begin to lose it’s novelty, and we stopped paying much attention to articles that talked about weblogging. The demographics of weblogging has changed and today’s average weblogger is less interested in wizbang technology or the coolness of what we’re doing then in having a tool that upgrades without breaking; allows us to reliably write to the weblog and to do so easily and quickly with a mimimum of problems; have the resulting page look good; and not have to wake up every morning and spend time cleaning out spam.

This change in priorities regarding our tools is reflected in recent discussions. A few years back, most discussions about web technology were on this new gadget, and that new functionality–it was all very positive and exciting and even the most technology shy webloggers would be moved to participate from time to time. For the last year and a half, though, most of the buzz about weblogging technology has focused on comment spam and elimination thereof. The ragged echo of voices you hear are tired, and frazzled, and sound more like beseiged castle dwellers holding back a foe, than brave adventurers into new territory.

As for excitement – the last major excitement related to weblogging technology was when Six Apart introduced it’s licensing scheme with 3.0, and Dave Winer closed down weblogs.com. Neither of these events had anything to do with ‘innovation’.

Webloggers are just not as interested in shiny and new as they were at one time. Shiny and new attracts attention most of us aren’t sure we want.

Now, I’m not saying this to discourage innovation, and couldn’t even if I wanted to–the nature of the human beast is such as to always see what is done, and how it can be made better. But most of the innovation in weblogging lately has been directed more at the geeks than based on any real and expressed need of weblogging tool users. This is well and good, too, as most advances in technology are based on putting new and geeky technology out on the market and then showing the people how this is something they wanted all along and just didn’t know it.

But at some point, there must be a connect between the technology and the users, or the innovation is bound to fail. History is littered with the desiccated remains of brilliant ideas that no one wanted.

But I digress. Returning to Jacques equating weblogging tool independence with tool homogenization, and from there, to the death of weblogging innovation. It’s funny, but his statement is an echo of something that I wrote once, a long time ago, about web standards. and Mozilla.

Challenge your assumption that all Internet services are provided by a Web server and consumed by a browser. Challenge your assumption that chaos within a development environment is a bad thing. And challenge your assumption that standards must take precedent over innovation.

Somewhere along the way…standards became less of a means for providing stability and more a means of containment. In some cases, standards have become a weapon used to bludgeon organizations for practicing the very thing that started the growth of Web applications in the first place: innovation.

This old article I wrote for O’Reilly was inspired by the the WSP’s criticism of the Mozilla team’s focus on creating an infrastucture rather than just providing a standards-compliant browser. Stop wasting time, they said. Give us standards compliance and then you can go play.

Thanks to the Mozilla group’s resistence to the outcries of the time, we now have Filezilla for FTP, and Thunderbird for email, not to mention Firefox and all it’s wonderful, marvelous extensibility to which I have become addicted. That time spent on geeky stuff back then has born fruit now and we’re all giddy with the possibilities.

This would seem to support Jacques statement of the importance of innovation not being suppressed, but but not how tool independence leads to homogenization, which in turn suppresses innovation.

Because of it’s focus on infrastructure, Mozilla did lose users, people who switched to other more standards compliant browsers; however, this didn’t stop it from continuing to innovate. And Mozilla eventually did develop that standards-compliant browser the WSP wanted. Now, many of those people who switched earlier are returning to Mozilla, or more specifically Firefox, leading other browser vendors to look more closely at their own products.

If anything, innovation is more closely associated with vendor independence than dependence. After all, you don’t have to work as hard with a captive audience (beer vendors at ballgames have long understood this association).

Making it difficult for webloggers to change tools does not encourage innovation. If anything, more of Six Apart’s recent innovative work–such as dynamic PHP-based pages–came from people switching or threatening to switch, to other tools, than from happy customers politely putting in enhancement or bug fix requests.

No, all that tool dependence does is make people frustrated because they feel trapped into using one tool. Eventually, even if the tool they’re using does improve, they won’t see it, or even acknowledge it because that feeling of being ‘captive’ to the tool becomes a mighty powerful filter that influences their preception of the tool from that point on. Microsoft’s experiences with Windows is a good example of this.

But can tool independence limit innovation, as Jacques implies? No more so than with any other use of technology. Take the washing machine industry for example.

A washing machine’s basic functionality is very simple: provide a waterproof tub; fill it with water; agitate the contents of the tub a bit; empty the water and spin the tub to get some of the excess water from the clothes. All washing machines share this same functionality.

Now, Washing Machine A, in order to capture more of the market share, develops a new machine that allows different temperatures. This generates a lot of interest because we all know that red socks washed at hot temperatures dye other things in the wash, pink. However, the creators of Washing Machine A, in their enthusiasm, rushed their product to market, and it breaks down a lot. Some customers, frustrated by sopping up water on the floor, or holding up shredded nighties, move to Washing Machine B, which has less temperature options, but is more reliable. New customers, hearing that A, though nifty, breaks down a lot also decide to buy B. Other people, though, who have a lot of red socks and really need these many different temperature options, and who sleep in the buff anyway, stay with A.

Still, Vendor A loses customers. Alarmed by this, A improves the reliability of their product. It finds and closes the tiny black hole that is eating up one of the red socks with each load; they slow down the agitation of the spin cycle so that the clothes aren’t beaten until their threads begin to disintegrate.

Some of Machine A’s old customers that switched to B move back to A because of the increased reliability. New customers, hearing that the old problems have been fixed, buy A this time instead of B. While this is happening, though, Washing Machine vendor B, inspired by A’s customer’s interest in access to different water temperatures, and alarmed in turn about the loss of its own customers, adds an improved temperature control, but separates the temperature control by wash and by rinse – pretty exciting stuff.

Some of A’s loyal customers that stayed through the reliability issues, see ’shiny’ and ‘new’ with Machine B, version 2.0, and make the switch. So Vendor A adds a new innovation–a device that adds softener at the right time so you don’t have to do it yourself. Machine B counters by providing a glass front so that customers can stare at the clothes as they go through the cycles, mesmerized by the action.

About this time, vendor C, who has been focusing on televisions, sees there’s a lot of money to be made in dousing clothes with water and shaking them up a bit. So they enter the market, adding yet more incentive for innovation. Seriously alarmed now, Washing Machine vendor A, in a fit of inspiration, and encouraged by government tax rebates, introduces a new model that is very energy efficient, hoping to take advantage of ‘green’ interests. Unfortunately, the new model costs signifantly more than other models that are less energy efficient, but providing the same functionality, and A takes a real hit in the marketplace.

Vendor B also wants to have those government rebates, but when they introduce their energy efficient machine, they also load it with a bunch of new options so that people can see something new for their increased costs, above and beyond the energy savings.

Yet through all of this crazy innovation, and marketing strategies, the basic functionality of the machines is the same: water, movement, rinse, repeat. It is because of this shared common functionality that customers can switch between products, choosing the features they want, or the reliability they need, while being assured that this basic, needed functionality is provided.

Returning to weblogging tool technology: it is a shared functionality and a minimum data model between products that leads to many of the innovations we have come to take for granted. It is this that allows us to have syndication feeds that can be consumed by all aggregators regardless of tool manufacturer and innovation. It is this that allows one weblog to ping another, or to ping notification aggregators such as weblogs.com. It is this that allows desktop editors or email clients, or even cellphones to post to different weblogging products. And it is this sameness that can be exploited to make it easier for webloggers to switch to a different product.

Being able to switch relatively easily led to customer demands that led to competition among the washing machine vendors, and it can do the same with weblogging technology. It is customer demands that lead to support of multiple syndication feeds rather than just one; it is customer interest in, and demand for, comments that led to them being incorporated into most weblogging tools, including the recent addition of comments to Blogger; and it is customer demands that are now driving much of the work on comment spam prevention.

If enough tools support an innovation it becomes commonplace and hence a de facto standard; eventually it forces enhancements to the underlying commonly shared behavior and data between tools. This then ups the minimal level of necessary functionality for all products, and the innovative cycle begins again.

Rather than homogenize weblogging, by enabling webloggers to move relatively easily between weblogging tools, and encouraging them to so move when they’re unhappy with their existing products, we’re giving them a say in the the direction that technology takes–that intersection between innovation and use I mentioned earlier. This, in turn, leads to better products, leading to happier webloggers, who are encouraged to write more about things that interest them–such as washing machines, and what happens to all those socks that disappear.