Tonight I released the first "stable" version of AutoSite XL, 0.9. I started this project just before school started about two weeks ago. Something I had always wanted to do since I started working on AutoSite alllll the way back in August 2018 (ok, it was July 30th) was to make a desktop version of it. (AutoSite 98 almost counts. Almost.)
AutoSite XL isn't up on my site yet, which is something I'll get to soon. However, I do have all the code and the actual release on Github, and a pretty extensive (1800 something words) readme.md, which might as well contain a blog post of its own, so it'd be cool if you read it.
I originally considered writing a GUI AutoSite in a new language, maybe to practice Java, the literal bane of my existence (someone's oughta be the programmer for the robotics team now that the only one graduated), or perhaps taking on WPF and heck, C#.
Ultimately though, I decided to stick to what I knew best.
Soon enough, in November it will be 10 years since I first installed Visual Basic 2008 Express Edition on the family XP machine. Before I knew how to write, the concept of making *my own* computer programs enthralled me beyond belief, and Visual Basic made it look so easy too! I feel Winforms, with all its problems made GUI development very, very accessible in a way no other environment, and no, not even Xcode, can.
For a good few years since then, I watched tutorials on Youtube, copy and pasted code, and eventually started making programs of my own, poking through IntelliSense to see what functions it gave me. I made fake operating systems, and more crappy Internet Explorer clones than I can count. At times I felt like I had something going. And other times..
One of the times where I had something going actually serves as a form of geneology for AutoSite, and that was PhotoPage. PhotoPage was a revamp of a slightly even older program called Photo Page Maker. Just before that name change in August 2016 I called it Photo Page Maker 2017. The screenshots I'm using are from 20170918.1, the last version. That summer was when I made this sick welcome screen:
Although the sick welcome screen was justifyingly pretty sick, most of what came was from a lot earlier in the year, and throughout the latter quarter of 2016.
What PhotoPage did was allow the user to drop in photos and create headings and paragraphs to make a webpage. The major stumbling block of PhotoPage was, well.. who is it for?
It wasn't for developers, surely; it wasn't for grandmas either, we live in the age where there are hundreds of services ready to host family photos for you for the cost of everything you know and love, of course. And technical issues too impacted it negatively. The ribbon control used, while pretty good for Winforms and also free on top of the fact, made the UI feel clunky, and since the WebBrowser control used was only a preview, it wasn't exactly the most user-friendly program to work with. Even just removing a picture wasn't possible unless you used the undo button to go back to before it was added.
You might be able to notice the thing at the bottom there: are those, perhaps, attributes? Indeed, they are! A feature I wanted to push with PhotoPage was its capability of using custom templates: essentially, HTML files with "tags" inserted that the program would replace with the user's input.
PhotoPage Studio was the part of the program that would make this happen. Its preview feature was always kinda funky, but you might be able to notice a particular component: yes, FastColoredTextBox. Just like AutoSite XL.
In retrospect, working on PhotoPage was weird. There were a couple other people I gave updates to who believed in its potential as a website creation tool, but I thought of it as more of a niche thing; problem is, I didn't know what niche it was, and the codebase was jumbled and hacked together enough that working on it turned rather exhausting. Work was typically done in occasional week-long bursts. Although, I owe it for being my first really large project. It also was the really large project that almost killed the joy Visual Basic for me: soon after the fact I started using other operating systems, starting to leave Windows behind. Then I had a dream where clouds.mid was playing in reverse while I met the Windows 95 Product Team up to Bill Gates and then woke up with a hand in my egg. I was never the same again.
When I released AutoSite, I did what I wanted to eventually do with PhotoPage; make something that can build entire sites by stringing together templates and files. And that brings us to today, as I've just released the first AutoSite XL version: the next step to making this stuff more accessible.
Maybe not as ambitious as PhotoPage was, but maybe more in some respects. I've worked with a lot of things with AutoSite XL: BackgroundWorkers, TreeViews, SplitContainers, more-native MenuBars and ContextMenus, more things I can't remember.. I like to think in some respects it's a nod to the past. Lots of experimentation, yet lots of familiarity at the same time. And to top it off, it fits on a floppy, and runs on Windows 98, which is all I'd want from a static site generator.