Home

Neopoligen's Target Audience

Head's up: I'm actively overhauling my site builder right now. To wit:

  • Most images and lots of links are broken
  • Code blocks don't wrap and don't have syntax highlighting
  • Other miscellaneous formatting and functionality is off

Please excuse the mess while I put things back together

TL;DR

I'm designing Neopoligen for folks who want to make websites with as little friction as possible.

Introduction

Neopoligen1 is a website builder. I've been working on it for a few years and am getting closer to launching it publicly. During the development, I've been struggling to articulate who it's designed for. There are two groups I always kept in mind:

  1. Myself (a web veteran with decades of experience), and
  2. My nieces and nephews (who've never made websites before)

That's a pretty diverse set. Writing this post helped me realize I'm after a specific overlap. Namely, folks who want to get something to show up on a web page with as little friction as possible.

That goal works for newer folks because it reduces the overhead it takes to get started (e.g. not having to learn a programming language like JavaScript).

It also works for folks who have been making web pages for years but are tired of the constant cycling of frameworks2 (e.g. you can skip having to set up a JavaScript framework)

Magic 101

I started college in 1993. One of the first folks I met in the dorm was a techie from California named Chris. I'd played around with Computer Bulletin-Board Systems3 and had an America Online internet account4 in high school. When Chris showed me how to get files with over the internet with an app called Gopher5 it was cool, but didn't blow me away. Then, he showed me the web.

We went down to the computer lab6 and he pulled up a web browser called Mosaic7 and started clicking around. Again, it was cool, but didn't look any more impressive than what I'd seen on America Online. In fact, it didn't look as good.

Then, he clicked a button labeled "View Source"8 and suddenly we were looking at the code that made the page.

I felt like Neo at the end of the Matrix9. I could see the exact places in the code that were responsible for what I was seeing in the browser.

It looked so straight forward. I thought there had to be more to it. There wasn't. Everything that was on the page was right there in the code.

Chris then opened an app to edit text, and showed me how to make a web page. All I did was copy the code from the page we had looked at into a new file and switch out the text for my own. But, when I opened the page in the browser and saw what I'd written on the screen it felt like magic10.

A Tale As Old As Epoch

This is not an original story. Variations of this post abound. Stories from folks in the early days of the web who stumbled across it, poked at it, and... it's hard to describe. That first feeling of power from being able to write words surrounded by some cryptic text and have them turn into something live on the screen.

The closest thing I can think of is the first time I developed my own photos in a darkroom. This was back in the film days. You put a piece of paper under an enlarger and exposed it to light passed through your film. Then, you drop the paper into a tray of chemicals and your photo just... materializes in front of you.

It's a visceral act of creation.

Changing the world from a place where your thing doesn't exist into one where it does.

It's a rush.

Making Progress

In photography, we've abstracted all that away. Some folks still use film but it's gotta be like a zillion to one against folks who take photos on their phones and digital cameras. That's great, actually. It means way more folks have access to photography in ways that were beyond reach just a few generations ago.

With photography though, the thing you're after is the photo. The process can be fun, but the image is what matters. And, we have control over that. There's no lock-in on your phone that means you can only shoot photos in a specific way. Nothing limiting you so you can only take portraits at eye level with the subject looking directly into the camera.

But, that's where we've ended up on the web with our social networks. Rigid formats that are impossible to escape.

We've given everyone the chance to post on social networks but only in ways that the companies that run them allow11. Allowances that are increasingly tight. After which, our works are buried under the crush of algorithms designed not for making our experience better, but for increasing profit margins12.

That's where websites come in. When you make your own site, those constraints are gone. HTML, CSS, and JavaScript (the key programming languages of the web) can do incredible things. With your own site, you're free to explore, play with, and make use of every bit of power those languages offer.

We'll get to all that in a moment, but first, we need to step back in time.

The Ever-Changing Web

Things were simpler in the early days of the web. Not in a nostalgic way, but a literal one. HTML, the base of all web pages, was in its first iteration. It's at version 5 now. JavaScript and CSS (the powerhouses that make webpages more than just the most basic text and images) hadn't been invented yet. Back then, with a few days of playing around, you could learn everything there was to know about making a website13.

Today's environment is different. It's overwhelming. JavaScript and CSS hit the scene in 1995 and 1996, respectively. They've been growing and evolving along side HTML ever since. Those evolutions have resulted in an explosion of complexity. Entire libraries, frameworks, and even other programming languages14 have been created to help try to manage that complexity. Very few have managed to keep things as simple as just writing a single file that turns into a webpage.

That's where we lost track of the magic. The connection simply opening a file, typing something into it, and having it show up on a web page.

The magic is still there though. You can make a .html file in a few seconds with some basic code, open it in a browser, and see your content. It'll be simple though. Black text on a white background. Our expectations these days are higher...

Enter Neopoligen

...and that's where Neopoligen comes in. It's designed to combine simple files of content with templates to produce fully featured web pages.

There are a few important points about the setup:

  1. The content files are written in a format called Neopolitan. It's designed to be fully featured but easier to work with than straight HTML. If you've ever worked with Markdown, it's like that, but on steroids.
  2. The templates are written in a format called Jinja. It provides a huge amount of flexibility without having to learn to a full programming language like JavaScript.

Neopoligen comes with a basic set of templates built-in. If you're a beginner you can ignore them completely and just edit your content. The built-in templates will take care of building your site.

When you get interested in trying something new, you can play around with the templates to change the way things work. As you become more advanced, you'll learn how to do more and more with them.

If you've already spent years slinging web pages, you'll quickly find you can do pretty much anything you can think of with the templates15. More importantly, the Neopolitan format lets you feed the templates with a diverse (and customizable) set of content. The files effectively become an ad hoc database of custom types.

Wrapping Up

I'm currently making version 42 of Neopoligen. It's the one I'm planning on making public.

The prior forty-one were exercises in learning, experimenting with, and refining various parts of the app. There was always a single through-line though. Eliminating as much friction as possible between having an idea and getting it on a web page. Because, I fully believe if we can get more folks making more stuff of their own, we'll be less pissed at each other. I think that's something need. Now, more than ever.

~ fin ~

Footnotes

1 ⤴
The Neopoligen Website Builder

The app I've been working on for the past few years. At the time of this writing I haven't released it yet. I'm still sanding down the sharp edges. We're getting close though.

2 ⤴
A forty year solution

My site is 20 years old. I've changed the software and framework behind it a dozen times. I never want to have to do it again. So, one of the design goals of Neopoigen is that I can use it for the next 20 years and then the next 20 and then however many more years I get.

3 ⤴
Bulletin Board Systems

A very early way to connect computer together to share info. Everything was text based. You could download images, but the didn't show up on screen while you were using the service (unless you count ASCII ART). Individuals would log into a server and post messages that other folks could read and respond to. There's nothing special about that these days, but Bulletin Boards Systems were the first way lots of early techies experience it for the first time.

4 ⤴
America Online (aka AOL)

Technically, I don't think AOL was really an internet account. It started life as its own walled-garden network. But, saying it that way helps it make sense to folks who aren't familar with it. Whatever. It was the first real place I spent time online. (I'd used Prodigy before thanks to a cousin, but AOL was the first time I had my own account)

5 ⤴
Gopher

Another pre-runner to the web "designed for distributing, searching, and retrieving documents". It's a lot like looking at the file browser on a computer and drillilng down to find files you're interested in. Except the files are sitting on a server and uploaded by folks from all over the internet.

6 ⤴
Computer Labs

A computer lab is bascially a bunch of computers that are sets up for a group of other folks to use. I don't think about the computers in a library as a computer lab, but that's a perfectly good way to describe them. In my case, the compter labs were provided to students by the university. I didn't have my own computer when I started college but had access to them through the student newspaper where I worked. So, I didn't spend much time in the lab but they got a lot of traffic from other students.

7 ⤴
The Mosaic Web Browser

Mosaic wasn't the first web browser, but it was the first one to display images and text together. I'd used AOL before and had seen online stuff with images and text together, but this was different. I could see and write the code to make my own pages for it. Absolute game changer.

8 ⤴
The View Source Button, Maybe

I don't remember if there was actually a button in Mosaic that said "View Source". Probalby there wasn't. It was probably a few clicks in a menu to get to it. The prose reads better calling it a button though and the effect of seeing the code was the same regardless.

9 ⤴
Spoilers!

Apologies if you haven't seen The Matrix yet. It's twenty-five years old now. I think that means it's past the point where I have to warn you before mentioning spoilers. Either way, if you haven't seen it, I can still recommend it. It's a fun ride even if you have some hints about the final act.

10 ⤴
Contains No Actual Magic

While the experince of creating on a computer can be magical, there's no actual magic involved. This is the same with any art. Music, movies, painting, photography. Any art you can think of can be magical to both make and witness, but it's not some unknown mystical force that makes it. They're created with the understanding of materials and techniques behind them. In the case of computers, that comes down to a bunch of 1s and 0s. That fact doesn't make the experience of creating any less magical though. Even if there's no actual magic involved.

11 ⤴
Wordpress Exists

There are, of course, other ways to publish on the web besides social networks. Wordpress comes to mind. Same for the dozen of other services that show up when you search for how to make a website. I'm focusing on social networks in this post to keep things a little more concise. While those other services offer different ways to build sites they all lock you into their systems to one degree or another.

Neopoligen (and, more to the point, the Neopolitan format) will be open-source so anyone can write software to build sites from them. I'm doing everything I can think of to make it as hard as possible for anyone (including myself) to set up a system that locks you in or makes it hard to move your site somewhere else.

12 ⤴
And they keep your stuff too

I'm not getting into the part about social networks where they keep all your stuff locked behind their doors. Making your own website in general and using Neopoligen specifically are remedies against that, but that's a story for another post.

13 ⤴
Server Side Not Included

When I talk about being able to know everything about making a website, I'm spaking about what happens on the browser. Specifically, using HTML to make pages. It didn't take long until pages could interact with the server through apps (e.g. those written in Perl) that ran on the server to make more dynamic content. Learing to do that was an ongoing process that has evolved along with the web.

14 ⤴
The CoffeeScript Programming Language

"an effort to enhance JavaScript's brevity and readability." I don't know how much use this gets any more. I haven't heard about it in a while. It's goal was to make the JavaScript programming language easier to use, but doing that added it's on complexities.

15 ⤴
HTML Fallback

You can always fallback to straight HTML. Either in the content via a -- html section or directly in a template. So, you can litereally do anything with HTML by using it directly.