Custom Web Applications
Since 2011, Our focus has been on creating powerful, custom applications for our user-friendly website solutions. We design Apps that are specifically made for your business. Maybe you're starting a Social Community site, a Craigslist-style Marketplace, a Product Catalog, or an Online Newspaper with a couple dozen authors contributing articles from around the globe. This is where we truly shine.
Being able to create and publish content from the Front-End of your website had been accessible to most business' since 2007. However, until 2011, this was reserved strictly for administrators. Company employees and small business owners would login to the Front-End with restricted access, and edit or publish a new page or article. This changed with the introduction of custom Apps. With a CMS like Joomla, and powerful Content Construction Kits like Zoo, we began producing custom Apps.
Let's use the Craigslist-style marketplace as an example. We would want our application to allow website visitors to create and publish content - in this case a listing - on their own, without any help. We might also want to extend options to registered users, that public users don't get access to. This is a pretty standard, simple application need.
We'd need a bunch of categories for listings to be posted to. We'd also want to configure item creation for the listing model. Some elements that would make sense here would be the Title, Images, Price, Description, Contact and maybe some Tags. We might also want a Date element so the items can be sorted by Most Recent when visitors are browsing or searching to buy things. Lastly, we'd want a Related Item element to associate the User Profile with the listing itself. With the Related Items element, we could automatically show every listing from a user when you look at their Profile. In reverse, we could automatically show a link (or Name and Image, etc) to the user's Profile on every listing.
Once an App has items configured with custom elements, we can setup Front-End Submission for your App's users and website visitors. Since each element of the item is separate, we can allow or disallow parts of an item on a per-element basis. Using the about Craigslist-style App as example, we'll consider a user submitting a listing for an online marketplace. We may want to allow users to create items with every element available. However, we may only want to allow them to create items with just a Title, Image, Description and Price. Or, we may want Verified, Paid users to be able to submit a Video, Multiple Images, etc and not basic users.
The custom Items are unique to your Application. An online Retailer may have industry-specific elements to their products (Weight, Depth, Impedance, Voltage - or Insurance Type, Medical Record Number, etc). When users or admins create new items, instead of a blank WYWIWYG box, they have a very user-friendly visual dashboard where they make these selections. Since the elements are separated and configured this way for the Application, the database keeps the content separate as well. This has a variety of benefits. First, it means importing or exporting items or categories can be done in bulk. Mass import or export can be done with a CSV (Comma Separated Values) file or files, like an Excel spreadsheet. Or, JSON can be used as well.
Streaming & Automation
Continuing with our Craigslist-style App example, once we've developed a custom App, configured custom items, and setup a Front-End submission feature for users to create content, we then have the ability to automatically stream that content anywhere throughout the site or application. Clients with GPS-oriented applications often have applications that stream Map-related content to a live, custom Google Map. From a manufacturer streaming all of the locations where customers can purchase their products, to Real Estate or Hotel, Air BnB Applications that stream available properties or rentals. Widgets and Modules are setup for common searching functions, like Sort-by Item Ordering or Advanced Search Filters. With the above example of a Craigslist-style application, Classified Ads would likely be streamed to a list of "Most Recent", "Most Popular" or "Nearby" items. A more modern site might call for the application to stream items to a Slideshow, or Tiles like Pinterest or Instagram.
The content is automated and set to stream to the desired lists, widgets, tiles, maps, etc. and will appear the moment new content is added. Of course, a review process can be configured that requires an administrator to approve the content before publishing, but with most Apps the process is entirely automatic. This works the same for administrator-created content. When an admin creates new content on the Back-End, it's instantly published and streamed to wherever it's set to appear live, in real-time. This also means that editing content, making updates or fixing a mistake is a much faster, more efficient process. If a product, or News article has a mistake, you can fix it at the source without needing to update every place it appears on the website or application.
The second benefit of having each custom element separate and not as plain-text in a white WYSIWYG box, is that we can screen access to each element individually. We may want to create several levels of User Access for your customers, clients and visitors. We may want to create Access Levels for Distributors, Partners or Affiliates. We may even want to create different Access Levels for Administrators. The technology to make certain sections of a website require login has been around for a long time. This is a much more sophisticated approach. A product, for example, can be compltely accessible to the public, showing just about every bit of content it has. The Images, Video, SKU, MAP Price and Specifications - while the Distributor Price would only show to logged-in Distributors. A User Profile might hide an email address or phone number from all but Affiliates and Retailers, or a Children's Sports Team may hide Kid's names and profiles from anyone not registered as a Parent or Member of the Staff.