0.2 Thoughts
This website is designed to never be finished; instead constantly improving over time. Therefore I
call this website “0.1” instead of a “1.0” or Beta (Beta
would imply that there was a final product
somewhere nearby, which there isn’t).
As much as this site does new, and as much as I’ve truly pushed myself to the limit with the code in this site,
there are many flaws and I’ve been thinking about what I’d like to achieve with 0.2.
After being inspired by this
design, here’s a run-down of some of the heavy flaws that need tackling:
Less Scope
At the moment most of the complexity in the CSS isn’t from using no classes, it’s from trying to restrict CSS
styles being applied in certain places where there are multiple levels of scope.
One good example of this is the hyperlink scheme. This was only recently
designed and much of the complications in my implementation (vs. the sample code) is
preventing the link scheme applying to all the links outside of the content entries (the header, tag-list
&c.). It’s a minefield of do, and do:not
s
What I’d like to achieve in 0.2 is to have the hyperlink scheme apply to all links on the site and then exclude
individual areas as required, rather than the current practice of applying to only one area (below body level) and
trying messily to exclude everywhere outside.
Squinty Links
I’m not very good with graphic design and the look of this site has never been up to scratch. I didn’t want the
blue background but couldn’t find anything to go with the orange. Secondly, the whole design lends itself to small
text on the background areas and so it’s become unavoidable having tiny tag links which render too small on an
iPhone.
In 0.2 I’d like something that doesn’t sink into tiny text sizes, but at the same time I really hate web-design
fads. This website will never have diagonal stripes in it, and it will not be brown.
Ems
I did try to create an em-based layout for the
site, but there were too many flaws from trying to tack it onto an existing design rather than designing with ems in
mind from the beginning.
With 0.2 I’ll try to do everything in ems from the beginning and that should hopefully make the whole thing less
twitchy.
Pingbacks
The Reddit invasion did prove one thing though: the ’Web is as
mashable as ever. Whilst I don’t care what Reddit has to say, the most interesting thing has been seeing people
blog about the site. Some quotes have been
picked up, and some people have said some truly nice
things.
In order to publicly respond better, 0.2 could do with pingback support. The major code/design issue with this is
dealing with potential abuse. I won’t be listing pingbacks on the site at all; if someone has something worth
talking about I’ll blog about it. Listing pingbacks just adds to the link-incest.
Administration
As I’ve started using this site to regularly post content, it has become apparent how flawed and thoughtless
I’ve been to the administration side of things. I wanted an interface that was quick to post with, to encourage me
to write often, which I’ve mostly done.
However, when it comes to writing large articles, a simple text field is never going to replicate the editing power
I have with TextMate. I’ve got no search and replace, no
syntax highlighting, no keyboard shortcuts. Trying to add these things is just re-implementing
the wheel, and thus breaks my very own design principle №3, Let Everybody
Else Do Their Job
TextMate is already the best HTML editor I could have, and my O.S. is already better at managing files then any
interface I could implement. I end up too often copying my writing into TextMate and pasting it back into the
website to preview.
The solution is to get rid of the database and admin interface, and manage the website as a folder of text files on
my computer. The PHP will then simply process and then cache these text files. All I have to do is sync the FTP and
clear the cache to publish the information. My source files won’t be in a binary blob, and I can easily work on
drafts without fear of the browser crashing (TextMate does not crash).
Credit for this idea goes to Steven Frank of
Panic fame and his elegant blogging solution
Laguna 2
. When I saw this, before I had released my
site, it knocked me back a peg or two. I thought I had an elegant and minimalist bit of code, and this just blew it
out of the water. I knew this is where I had to go too, but wouldn’t have time to rewrite my site before the
release in June.
So with 0.2, I want to throw away a lot of code. Throw away the online admin form (or keep it just for posting from
public computers), throw away the database and make this code only do exactly what is needed and no more.
URLs
My URLs are the best I can do with query-string minimalism, and having as few ancillary pages as possible. I decided
from the beginning to not have a calendar on the site because it doesn’t tell you anything about what kind of
content you will get. It’s just mystery meat
navigation dressed up as something useful. How I have it at the moment is that you read one page, and if
you’re still interested, you read the next, and so on.
However there’s no direct and easy way to find a particular entry. The permalinks don’t tell you anything
useful, other than how recent the entry is. This isn’t good for people posting links to here on the ’Web, it’s
too ambiguous. The permalinks should be either be a unique filename, or a flattened version of the title.
The real hard decision is whether to go with static HTML files, or stick with the PHP. I think this site would be
painfully dull without the PHP sitting just underneath the HTML5 and ideally I’d always want it exposed and
accessible somewhere. Going with static HTML files would really simplify the site, but also remove a bit of the
heart and soul. I want a nice trade-off, where there’s a thin PHP layer there, fetching your pages for you, but
never a full blown framework. I think this is the one issue I will fight with the most - elegance is extremely hard
to tame.
What Won’t Be “Fixed”
- Internet Explorer Support
-
My website will work in IE when the IE team code IE to work with it. I’m not
changing
breaking my code to work with a browser that can’t handle what I’m doing anyway. Even if IE8
passes Acid 2, it still won’t handle HTML5 and ‘application/xhtml+xml’, which isn’t
my problem.
- Firefox 2 Support
-
Firefox 2 doesn’t pass Acid 2, it lacks “
display: inline-block;
”, it renders rounded
corners all jagged and the background image outside of said corners. In order to support Firefox 2, I’d
have to back-hack a lot of stuff and I see zero reason for people to stick with Firefox 2 when Firefox 3 is
so much faster, better with memory, renders CSS better and has the awesome-bar.
- Comments
-
My e-mail client is already the perfect administration interface for answering comments.
Use it.
Click link, type message, click “Send”.
How is that harder than online comments? There’s not even a CAPTCHA.
With that said, if there’s anything you think I should do with this site, please let me know.