Internet's Last Classic ASP Website Finally Upgraded
I've now been blogging at this site for more than 10 years. I meant to mark the anniversary but—whoops—it slipped right by.
Somewhere in that 10 years my site seems to have become The Last Classic Asp Site Left On Earth. So at last I decided to move to a new blogging engine.
I looked at ALL the existing blogging platforms on the planet, and I couldn't find a single one that could satisfy my One Very Simple Requirement:
1. It must be written by me.
So, eventually, I decided the only solution left was to write my own!
Okay, there were a lot more requirements. I started to write down what the requirements would be if I were paying someone to write the site for me. I soon realised I'm one of those clients from hell
It needs to pop. It needs to be now. It should smell like success. Use plenty of comic sans.
(the real feature list is included at the foot of this article)
The old site used a bug-ridden custom blog engine, code named 'Smart Jelly', the only 'Classic ASP' site I ever wrote. It was little more than a textarea where i pasted some raw html, so that it could be injected into a static template and saved once and for all. Edits after that were done by hand.
Finally, starting a-fresh, with a decade of experience, I knew I could over-engineer this one to death. So I settled on a design that is essentially a text-area where you paste an article, so that a light sprinkling of MVC code can put the article into a template, cache it, index it, etc.
I used Stashy as my ultra-lightweight No-SQL data store. I used Ben Foster's SiteMap article and code to build the sitemap. And other than that, I just avoided as many bad design decisions as my time would allow.
With this gargantuan task out of the way, I can finally move on with my other most pressing items. A new NimbleText release. A new product. But if you spot any errors, let me know.
Appendix A: rules I tried to follow.
Design Requirements...
- Simplicity
- Semantic html
- Responsive to smaller screensizes (25% of visitors are from mobile)
- Clear fonts.
- Should last 20 years
Nothing 'fashionable' -- examples:
- flat design, (long shadows)
- parallax scrolling
- long scrolling
- sticky nav
- 'impressive' transitions
- client side everything
- avatars in circles
- giant header images.
Maybe...
- Continuous scrolling
- Playful
- minimalist
- dark
- svg
Definitely not...
- Bootstrap (upgrades are pain.)
- Disqus.
- A database (too big a dependency)
- Pages heavy with js widgets
- little notes that popup in the lower right corner when you scroll down
- pop-overs that get in the way of the article and say things like "Hey! You're trying to read the article, you should buy this other thing"
- Auto-play embedded sound and video advertisements.
- Lobster web font.
Features
- all old urls respected. (via permanent redirects where necessary)
- articles
- comments
- fast to load.
- Pages not heavy with js widgets.
- rss
- sitemap.xml
- complete archive
- categories
- as few dependencies as possible. JQuery sure. Others? No.
My book "Choose Your First Product" is available now.
It gives you 4 easy steps to find and validate a humble product idea.
Farmer Jeb on July 13, 2014 22:25 sez:
Looks nice on my little phone.
Farmer Jeb on July 13, 2014 22:26 sez:
Time stamp on my comment seems to be US Pacific time (I'm in NYC).
lb on July 13, 2014 22:44 sez:
good stuff Jeb. I think my server is in your timezone. TBH, I gave up on caring about timezones long long ago. And you should see the care I don't put into text-encoding. It's even worse.
Doeke on July 14, 2014 07:51 sez:
Nice site. I like your fonts! And miss you chapchacha (or how is it spelled?) alf. Also, I like your touch icon. I've added it to my home screen, and direcly removed again, sorry ;-) Questions: - why are you using server side technology (and not batch files, Jekyll or the like) - do you store posts as html?
lb on July 14, 2014 08:05 sez:
Hi Doeke Yeh I'll put captcha back in if/when it's needed. Re Jekyll i feel like I've used the static html approach for the last ten years and wanted something more dynamic. Also comments in Jekyll seem to be mostly done with Disqus. But I don't expect that would be a decision that would survive 10 years. Disqus already seems quite sleazy and I'm sure it will only get worse.
Doeke on July 14, 2014 08:14 sez:
You could always try Discourse for comments, but that seems overkill to me...
lb on July 14, 2014 08:21 sez:
Yeh, Discourse does look pretty nice. I'd trust it to be headed in a good direction with Jeff and Sam Saffron at the helm. But in 10 years... It's a giant timescale to think about.
Doeke on July 14, 2014 10:42 sez:
Ah, who knows in 10 years. We probably have personalized comments, altered with positive feedback, produced by some neural network trained by a low wages country, like Amercia... The title of this post however is incorrect, my good man. See my Url (though my asp is powered by JScript...)
mk on July 15, 2014 05:59 sez:
A few days ago my rss client highlighted all your articles as unread. Apart from that, good work ;)
lb on July 15, 2014 06:25 sez:
@mk, interesting, by some reports it didn't do too much of that even though I expected it would. The guid for each item (i.e. the cannonical url of each article) changed, as I removed the .asp extension. (The .asp extension still works, it just does a permanent redirect to the article without a .asp extension) In any case: i definitely recommend re-reading all the articles. They are crafted with a lot of love. :)
Paul on July 15, 2014 22:32 sez:
I think you are being to tough on yourself, it's not *the* last asp website ;-) It looks good, works nice on a phone (even a WP). Now that you have upgraded to the new internet you can be out of date even quicker. It seems that with each passing year the "lifetime" of a web-app decreases. I am working of a formula, then I will patent a law and write a book about it. PK :-)
Raj Chaudhuri on July 19, 2014 07:46 sez:
I like the result almost as much as I like the specifications. Great work.
lb on July 19, 2014 07:56 sez:
cheers Raj!
David H on July 22, 2014 20:25 sez:
The classic ASP site was just about to go full circle and become cool again. You should have stayed strong ; ) I thought the philosophical landscape was flat, just like the earth?
Brett on October 15, 2015 09:39 sez:
Yours is/was definitely not the last ASP site on the planet!
I just got a new job and practically all the code I have inherited is classic ASP.
Thankfully it's not too hard to understand, the most annoying thing being that all recordset fields are referenced by index number rather than the field name - do you think the original developer knew you could actually use names?
Aside from that the biggest annoyance is the lack of "find all references" that we .NET developers are spoiled with!