By: Paul S. Cilwa Viewed: 9/25/2018
Posted: 6/7/2018
Topics/Keywords: #Computers #Programming #Organica Page Views: 251
How the basic components of Organica work.

I remember when a computer interface was white letters on a black background.

Nowadays, user interfaces must include color, graphics, explanations, instructions, links, and more. And anyone trying to invent a new operating system would have to incorporate support for all of these data types.

Or...one might make use of the already-existing-and-portable technology of web browsers to handle all output and user input.

That means all interface chores will go through the common, well-defined, and well-understood HTML/CSS languages to format and display anything a browser could understand, which is, basically, everything.

All modern web design requires four pillars: HTML for page data, CSS for formatting, Javascript for user interaction, and (often) a server-side programming language like VB.NET to actually create those pages. This documentation is meant to illustrate techniques, but not to actually teach those skills.

In the pages below, we'll look first at the basic page design (HTML and CSS), then at a VB.NET custom browser to display those pages, and then expanding that browser to create the pages it displays.

Organica Core: Page Design with CSS Flexbox

By: Paul S. Cilwa Posted: 6/7/2018
Topics: #Computers #Programming #Organica #Flexbox #CSS Page Views: 302
Building the very first Organica page.

To get this project started, we're going to create, first, a web page (stored locally) to give us something to display. (Later, the "web page" will be generated programmatically; but this will keep things simpler for now.)

Read more…

Organica Core: A Custom Browser

By: Paul S. Cilwa Posted: 6/11/2018
Topics: #Computers #Programming #Organica #VB.NET #CustomBrowser Page Views: 226
How to create a custom web browser with VB.NET.

Why would anyone want to create a custom browser? After all, there are already over half-a-dozen, from Microsoft Edge and Google Chrome to Firefox and Safari and even more if you include Android browsers. But there are reasons. For example, you might want to create an app for just one web site (for example, Netflix) that doesn't allow off-site browsing.

Read more…

Organica Core: KnownFolders

By: Paul S. Cilwa Posted: 8/21/2018
Topics: #Computers #Programming #Organica #VB.NET #CustomBrowser #KnownFolders Page Views: 128
How to create a class to encapsulate the Known Folders of Windows Vista+.

Windows has had "special" folders since Windows 95. You remember the Documents folder, right? As well as Desktop, and (with later versions of Windows) Downloads, My Music, and so forth. With Windows Vista, this conglomerate of folders became known officially as "Known Folders", despite there being no "unknown folders" to speak of.

Read more…

Organica Core: ThisUser Class

By: Paul S. Cilwa Posted: 6/11/2018
Topics: #Computers #Programming #Organica #VB.NET Page Views: 119
How to get the current user account's info with VB.NET.

The next step in creating our File Explorer replacement (Organica) is to automatically move to the folder of the currently logged-in user. But, wait—how can we find out where that is? In fact, there's a lot of user account information to which we might like access. And that's what the ThisUser class will be for.

Read more…

Organica Core: Utilities Module

By: Paul S. Cilwa Posted: 8/14/2018
Topics: #Computers #Projects #Organica Page Views: 125
A place for oddball helper procedures and functions.

Any project needs a general module for random, code-saving utility functions. We're going to create such a module in this chapter and put a couple of starter procedures into it.

Read more…

Organica Core: Modifying HTML

By: Paul S. Cilwa Posted: 6/11/2018
Topics: #Computers #Programming #Organica #VB.NET #HTML #DOM Page Views: 119
How to build into Organica the ability to create pages to order from a script.

Previously we created an HTML file that can be viewed in any browser window. Then, we designed a browser of our own for viewing it. But since the web page (currently) has no links, our browser can't go anywhere or do anything else.

Read more…

Organica Core: Documents.vb

By: Paul S. Cilwa Posted: 6/11/2018
Topics: #Computers #Programming #Organica #VB.NET Page Views: 212
The base class for all Organica documents.

In the previous chapter, we ended by positioning the app to the user directory if started without an argument, or to the specified folder if an argument was supplied. The start directory is a folder, that is, something that contains documents of varying types. Now, this is key: Every folder is, in fact, a Document. It might be a Folder document (a list of documents in the folder) but it might also be a document with text and photos or anything else.

Read more…

Organica Core: User Interaction

By: Paul S. Cilwa Posted: 8/9/2018
Topics: #Computers #Projects #Organica Page Views: 139
How to allow user interaction with the WebBrowser control to communicate with VB.NET.

When writing a native Windows application, support of user interaction is a given. But Organica presents itself via HTML and CSS in a web browser window. So, how can we capture user clicks and other interactions so that the underlying VB.NET code can respond? Well, it turns out that doing this is simple, if not very intuitive.

Read more…

Organica Core: History

By: Paul S. Cilwa Posted: 8/15/2018
Topics: #Computers #Projects #Organica Page Views: 134
How to implement a browsing history with VB.NET.

In order to implement our browser's Back and Forward buttons, we must implement a class to store our Document history, and to preserve the current page for a potential Forward when the user clicks the Back button. Fortunately, VB.NET has just the collection class to make short work of this task.

Read more…

Organica Core: Multiple Instances

By: Paul S. Cilwa Posted: 8/9/2018
Topics: #Computers #Programming #Organica #VB.NET Page Views: 182
How to build into Organica the ability to run multiple instances of itself.

Many applications—most applications—allow multiple copies of themselves to run at the same time. In fact, a programmer must make a special effort to forbid it. However, in the case of Organica, a second instance should not behave quite like the first.

Read more…