Small Biz Mac, This blog focuses on using Mac as the foundation of a small business--the operating platform, the market, and more. This blog will discuss both the challenges of operating a business on Mac hardware and software, and the impact of the broader Mac market on business.

Your Hosts
Kevin Walzer and Lori Jareo, publishers, software developers, Mac/iPhone users, and small business owners.

Subscribe to RSS Feed
Get a syndicated feed of this weblog.



Privacy Policy

Site design: Skeleton

Thu, 19 Jul 2018

Updated mobile apps

We've released updated versions of our mobile travel apps, The Lake Effect (Great Lakes travel) and Snowbird Shores (Atlantic coast travel). Both feature modest UI updates. Both are free downloads for iPhone and iPad.

[/software] permanent link

Thu, 23 Nov 2017

New app versions

We've released version 3.1 of The Lake Effect and version 1.1 of Snowbird Shores, two apps for iOS that deal with travel to different parts of the country--the upper Midwest/Great Lakes region, and the Southeast/Atlantic Coast/Gulf Coast regions.

It's been about 18 months since we released previous versions of the apps; these updates were prompted mainly by the iPhone X, which has a different form factor than other iPhones, and a note from Google--whose Admob advertising system we were using in the apps to generate revenue for them--that we only had a short time to update our apps to support the iPhone X and comply with Google's terms of service.

We ultimately decided to remove Admob from the apps because support for the iPhone X does not seem to be coming, at least in the near future, from the plugin we use to support Admob. As a result, we decided to place links to new pages on the websites that these apps support, which will periodically be updated in the future.

The apps still make use of JQuery Mobile, a nice Javascript framework that makes optimizing web pages for mobile platforms simple. We had moved to JQuery Mobile a couple of years ago because the previous Javascript library we used had been abandoned by its author. At the time JQuery Mobile was widely used and well-supported by a large community, but we seem to have started working with it just as its development slowed and its community started drifting away. The library has seen no significant updates in the past couple of years and is now seen as nearly obsolete in the Javascript world. ßWe don't plan to rework my apps in yet another framework, however. JQuery Mobile is good enough for what these apps need and trying to keep up with the latest fashion is exhausting. Frameworks come and go in the Javascript community with unbelievable speed; it's nearly impossible to stay on top with what is currently popular, and even popular frameworks often get substantially rewritten, forcing apps that rely on them to also undergo significant re-working. I've never understood the library churn in the Javascript world, why things come and go so much, and why developers put up with it.

In any case, if you have any interest in travel to either region these apps cover, feel free to install them on your iOS device. They are free.

[/software] permanent link

Sun, 06 Mar 2016

Moving from Jo to JQuery Mobile

I have decided to move away from Jo as my mobile app toolkit of choice to JQuery Mobile. Jo is a lovely, powerful, lightweight JavaScript framework, and its design fit my head better than most other libraries I've worked with. Unfortunately, development on it has essentially halted and it no longer has a visible community surrounding it. When I started doing mobile developent a few years ago, I looked at JQuery Mobile, but it was in its infancy, its performance was dreadfully slow, and its design--mixing HTML and JavaScript in a single HTML file--was not to my taste. Its design remains (to me) an acquired taste, but I've grown more comfortable with it, and its performance has improved greatly. Moreover, it is actively developed, and has an enormous community surrounding it. So I'll be using it going forward.

[/software] permanent link

Tue, 18 Nov 2014

Power user and Yosemite Server

Here's an excellent overview of the capabilities of Yosemite Server, which we just ran across today. This would have been helpful when we were reconfiguring the server this past weekend after hard drive failure. This is the latest in a long line of superb reviews of OS X systems by Ars Technica. A lot of good stuff here.

[/software] permanent link

Tue, 25 Feb 2014

Mailmerge in Perl

One nice feature of Mac OS X Server--and OS X itself--is its inclusion of the Perl programming language and its various libraries that can be accessed through CPAN, a central clearinghouse for Perl extension modules. We make use of Perl for several things, including website support, support of mobile apps, and customer communications.

In our discussion of customer communications, we mentioned a Perl-based tool for one-off communication to a list of e-mail addresses, mailmerge. Our previous experience with the mailmerge tool was that it was great for simple e-mail communication but didn't support rich/HTML text. After doing some further research, we found that it is indeed possible to send HTML e-mails with just some slight modification of the mailmerge code.

What this means is that for the cost of learning a computer language, we can save the significant cost associated with sending e-mails through Constant Contact and Mad Mimi. We have control, and flexibility. These are substantial advantages that the Mac server platform offers.

[/software] permanent link

Thu, 31 Oct 2013

Mavericks Server: A winner

Last week Apple released its latest version of OS X, 10.9 Mavericks, for free, via the Mac App Store. We waited a couple of days to let the crush of downloads dissipate, and then smoothly upgraded all of our machines, as well as our server, a 2011-era iMac. The server package, encapsulated in a single application called Server.app, requires a separate download from the Mac App Store, and retails for $19.95. (We were able to download the server app for free through a promotion for iOS developers.)

Since the focus of this blog is on using Mac OS X Server in a small-business environment, we'll focus here on the upgrade experience for Mavericks Server, initial impressions of its performance, and resources for further information.

OS X Server used to be an entirely separate, highly expensive version of Apple's operating system, ranging in price from $500-$1,000 dollars depending on the scale of its deployment. Starting with OS X 10.7 Lion, Apple dramatically reduced the price of the server OS and converted it from an entire Os installation to a standalone app containing the server components (web hosting, e-mail, file services, DNS, and more). This is a path that Apple has taken with other major products in recent years, such as Final Cut Pro and, this year, iWork; Apple introduces a new version that is a significant rewrite, and often simplification, of the older version. Changes of this scale often result in the new version being extremely rough around the edges, and frankly inferior to the previous version in terms of features and usability. Such was the case with Lion Server; our experience with it was largely negative in terms of usability and stability, especially with regard to websites and e-mail.

Apple's track record with subsequent versions of its updated apps, however, has been more encouraging: with a new, often cleaner foundation in place, popular features get added back in. And that is the case with Mavericks Server. Lion Server left out many, many features, requiring either legacy tools from the old OS X Server platform or older-school hand hacking of configuration files. Configuration of websites was especially dumbed down. By contrast, Mavericks Server provides a much better, more complete interface for configuring websites, with no hacking required. And other types of configurations that required legacy tools, such as mail, have now been smoothly integrated into Mavericks Server.

The upgrade experience with Mavericks Server was the smoothest we've ever seen; older versions of OS X Server could not be easily updated from one version to another, requiring a couple of days of re-jiggering all the relevant settings. By contrast, Mavericks Server preserved all the settings that Lion Server, legacy tools, and hand-edited configuration files had implemented. It was truly impressive. The entire update took less than an afternoon.

There were just a few glitches in the update that required additional time to investigate and resolve. The smaller glitch was a setting in the Postfix mail server that allow our mobile devices to send e-mail via Postfix through the server, specifically commenting out these lines in /Library/Server/Mail/Config/postfix/main.cf:

  • #smtpd_helo_restrictions = reject_invalid_helo_hostname reject_non_fqdn_helo_hostname
  • #reject_non_fqdn_helo_hostname

    A more serious issue was the difficulty we had getting a stable installation of the MySQL database server. MySQL comes with a Mac package installer, a module to launch the database on system startup, and a preference panel that lets you turn the database server on and off. This system had worked for us for years, up through Lion, even after Apple stopped bundling MySQL with OS X in favor of another database server, PostgreSQL. However, for whatever reason, we encountered substantial issues with MySQL on Mavericks: the database would crash frequently. Because we used MySQL as the back end for our mailing list software, PHPlist, its instability was a problem: we cannot communicate with our customers.

    After several hours over a couple of days trying to get MySQL working, we simply gave up on it. This also meant giving up on PHPlist, which doesn't support other databases very well. After some additional research, we settled on DadaMail, which is much simpler to install, and does not require a database server as its foundation.

    Apart from these two issues, both of which are specific to our server setup, Mavericks Server is the easiest server system we've ever deployed. So far its overall stability equals or exceeds Lion Server as well, although only time will tell over the long term. But Mavericks Server has come into its own as a robust, easy-to-configure, and inexpensive successor to the older OS X Server platform, and we recommend it highly.

    An excellent resource for more information about Mavericks Server can be founded at Krypted.com. This site is maintained by a systems administrator who specializes in Macs, and is a rich source of information.

    [/software] permanent link

    Sun, 03 Mar 2013

    Another use for server: Server-side product data

    Part of our business is publishing, and the other part is software development for the desktop (Mac) and mobile (iPhone) platforms. Our OS X server setup plays a vital supporting role in these businesses, even beyond hosting their websites; it also provides direct support for the mobile apps that we develop.

    We've developed and released two mobile apps, QuickWho, a whois client, and WTPoem, which is a poem-of-the-day app. In both cases, the apps themselves are written using a combination of the Jo JavaScript framework and the PhoneGap application wrapper for native deployment on the iPhone. However, by themselves the apps don't do very much; they call out to code running our OS X server for their data. In the case of QuickWho, it talks to a Python module running on our server, which runs the whois inquiry and returns the data to the iPhone client. In the case of WTPoem, it gets its daily poem data from a Perl module running on the server, which parses a flat-file database of poems and related info, and nicely formats that day's poem in HTML for download to the iPhone.

    Developing these apps and testing them is greatly simplified by having control of the server. Not all web hosting companies support certain programming languages, especially Python, so having that control is very helpful. It makes it easier to install custom code libraries, test, make changes quickly, and deploy with a minimum of difficulty. It's another reason that the time spent maintaining our own server setup isn't wasted.

    [/software] permanent link

    Thu, 17 Jan 2013

    Site search

    In response to customer feedback, I've implemented a search engine for all of the sites I maintain, including http://www.wordtechcommunications.com and http://www.codebykevin.com based on some clever code documented at Build a Search Engine in PERL. My own code was heavily modified, but this example was exceptionally helpful in helping me get started.

    I've also implemented a similar feature at my blogs using the find plugin for Blosxom by Fletcher Penney. This plugin, unlike the other search engine I developed, is a drop-in module that required no configuration on my part. It works beautifully.

    Both search tools enhance the usability of my sites, and both are written in a programming language I'm having fun learning: Perl. Perl is well-suited for website programming, and I look forward to doing more with it.

    [/software] permanent link

    Tue, 18 Dec 2012

    Blog colophon: Blosxom

    In case you're wondering why we're not using a common blog platform such as WordPress (a somewhat ironic choice given that one of our press's imprints is called Word Poetry), it's because we've opted for a smaller, simpler, and venerable solution: Blosxom, a blog engine that nonetheless provides a great deal of power.

    Blosxom dates back to the early days of the blogging movement; first written in Perl by Rael Dornfest, it consists of a single file of Perl code less than 500 lines in length, and it has inspired many variants in other computer languages. Blosxom can also be extended via plug-ins, and, over the years, dozens of such plug-ins have been written.

    Blosxom is no longer as popular as it used to be, partly because blogging engines such as WordPress do more than Blosxom and can be simpler for non-technical computer users to get started with; commercial hosting for WordPress blogs is widely available. WordPress is also free to download and install on your own server, but few WordPress users do that, as installing and configuring WordPress can be quite complex. No such commercial hosting exists for Blosxom, alas; Blosxom requires a certain level of technical skill, a willingness (or desire) to get your hands dirty hacking on code, to work well.

    Also, apart from its technical requirements, the original web design of Blosxom shows its age; the design templates bundled with the original version of Blsoxom (called "flavours") are dated in both their layout and their HTML practices.

    However, the core of Blosxom remains as flexible and powerful as ever, and we've been able to hack it to work with a modern, lovely web design template like Skeleton, which breathes new life into the blog. We've also used Frank Hecker's wonderful feedback plugin to add comment support. (The coding tweaks in the comment sections of Frank's blog helped solve a couple of knotty issues that allowed the comment plugin to work.)

    Blosxom development has slowed in recent years, and it's not as widely used as it once was, but the slow pace of development doesn't worry us; it's less a sign of a stagnant product as a stable, mature one that no longer needs a lot of tweaking. We have yet to see a blogging challenge that Blosxom can't handle, and so we're happy to continue using it.

    [/software] permanent link