Paypal Checkout Options

I’ve been looking into Paypal checkout options. There are many. Most people use Paypal Standard Checkout (actually Paypal Buttons, which are the same thing) which redirects to Paypal and has two or three steps on their site. However, there are several other options available.

Paypal Payments Pro

This is only available for US, UK, CA paypal accounts. However it provides the most flexibility and keeps customers on your site for the entire transaction. Can accept most credit cards and paypal (does not have to have a paypal account). Need SSL and software (easily configured with a plugin). Additional fee of $30 USD/month.

Note that Paypal Payments Pro has Paypal Express Checkout automatically enabled for Paypal payment option.

Paypal Payflow Pro

Only available for US, CA, AU, NZ accounts. Basically the same as Payments Pro, except can also use any merchant account (including Paypal, but not required) for payment processing. Supports more payment methods (additional credit cards, prepaid cards, TeleCheck, ACH, etc. Can also do recurring billing. $25 USD/month.

Note that the huge advantage here is using third party merchant accounts for processing, which save a lot of money. Compare rates:

Note that Paypal Payflow Pro has Paypal Express Checkout automatically enabled for Paypal payment option.

Paypal Advanced

Similar to Payments Pro, but without a virtual terminal (ability to take credit card payments over the phone). If you don’t need that, and don’t want to use a third party merchant, then this probably the best option. $5 USD/month fee. US and CA only.

Paypal Express Checkout

This minimizes steps for payment. Acts the same as standard checkout and available in same countries. It does a window overlay instead of redirection to another site, so the customer stays on your site during the transaction. Note that the In-Context-Checkout feature is not supported in some countries in the Middle East, Japan, and domestic buyers in both India and China. For those, the normal checkout process takes place. Paypal Express is available in 190 countries.

Basically, all of these are meant to increase conversion rates, by reducing friction in the payment process, as well as supporting (in the case of Payments Pro and Payflow Pro) more payment options.

Paypal Digital Goods

This streamlines the payment process and allows to keep the customer on site. Good in AU, NZ, CA, CN, DK, HK, IN, ID, IT, JP, MY, NO, PH, PL, SG, SW, TW, TH, US, UK. Actually though, this gateway is no longer accepting applications, and the replacement has been renamed Adaptive Payments. (Note, Digital Goods — as a category — are supported by Express Checkout as well.) The Adaptive part means that there is an ability to do multi-party payments, though Subscription payments are not supported. Adaptive Payments is available in 190 countries. However, it does not allow for keeping customer on one’s own site. Not really attractive unless there needs to be immediate multi-vendor payment of some kind.

Generic Recommendations

  • If you can/do have a US, CA, AU, NZ paypal account -> Payflow
  • Then integrate with a merchant account, there are many to choose from, and cheaper than Paypal or Stripe
  • Save money and keep customers on your site for ease of checkout
  • If you can/do have a US, CA, UK Paypal account, but don’t want a third party merchant -> Payments Pro
  • If you don’t want a third party merchant account and don’t need virtual terminal, but do have US, CA paypal, then Paypal Advanced
  • Otherwise Paypal Express

Additional Resources

This article was first published at Paypal Payment Options on Mcneill.io

Tokyo or Singapore Datacenter

Tokyo still top choice for Asia HQ Datacenter

Even with multiple options coming online in Singapore, Tokyo is still the best option for a single, Asia-based datacenter. Even when serving locations such as Thailand and Vietnam, Tokyo is a strong competitor to Singapore.

Linode is my unmanaged VPS of choice.They have a great service, are as reliable as any other, generally very speedy responsiveness, and great prices. They also have a number of locations, including: Germany, Japan, Singapore, the United Kingdom, and the United States.

For a single site, their $10 USD + 25% for daily image backups (actual billing $12.50 USD/mo) gets you 1 core, 2gb RAM, 24gb SSD, and 2tb of throughput.

When Singapore is a Better Datacenter Choice

My current Tokyo datacenter can’t accept new customers, or do any hardware upgrades as it is completely sold out (and has been for a few years now). However, a new Tokyo datacenter will come online by the end of 2016, which is fairly easy to migrate to.

Currently the best option is a Singapore location, then moving to Tokyo when the new system comes online. Or just wait until Tokyo is available and make the move then. Those are the two options.

For East Asia, Little Difference between Tokyo and Singapore

To Australia, a Singapore location would be slightly faster, and to the US and UK, slightly slower. Submarine lines (that run most of the backbone Internet traffic, as it doesn’t go through other countries, more secure). More fiber is being built between Singapore and Australia (some of it came online in 2015).

There is a significant interconnect between Tokyo and Singapore (and other countries in between) coming online this year. Therefore to locations such as Malaysia, Thailand, Vietnam, Hong Kong, and Taiwan there is little difference.

Arctic Fiber Lines

A few arctic fiber lines being deployedwhich will cut time from Tokyo to the US West Coast as well as Europe.

Single Location – Tokyo

In summary, Tokyo still appears to be the best single place in Asia to be located (which is why it is so popular, and generally more expensive).

Tokyo will have faster speeds to Europe, more redundancy, and faster speeds to the US (already a fast link), and faster speeds to Australia.

Singapore would be faster to Australia, but slower to the US and maybe the same speeds or slightly slower to the UK.

First published at https://mcneill.io/tokyo-singapore-datacenter/

Dromomania and the Permanent Traveler

Permanent Traveling is a well-documented Personality Disorder, and there are additional unsavory related compulsions. These people need help.

Dromomania

Ah, the digital nomad. Those who have left the rat race behind, or perhaps they have taken it with them? Digitized its essential nature? Is in fact a symptom of the problem and not a purported cure? Perhaps this behavior is better understood, as it should be, and has been, documented since the late 19th century.

Dromomania

The compulsion to travel, as it is manifested in the disorder known as Dromomania, also called Traveling Fugue: an uncontrollable psychological urge to wander.

More generally, the term is sometimes used to describe people who have a strong emotional or even physical need to be constantly traveling and experiencing new places, often at the expense of their normal family, work, and social lives. —Wikipedia

As one who lives in a place known for these itinerant travelers and wandering digital workers, their rather odd behavior makes a lot more sense from the perspective of a compulsive mental disorder. First, though, we have to disassociate the behavior from the pretty wrapping and trappings of a fantasy of getting away from the mundane world, and living in exotic locations, but without actually settling down there. The life of the hobo has held sway over romantic (the literary movement, not the psychological state) notions of nature and escape from civilization.

So what other compulsive or dysphoric traits and conditions persist?

Miserliness

One such is living as cheaply as possible – Miserliness. Technically this is Obsessive-Compulsive Personality Disorder-related Frugality — what Freud called the anal-retentiveness or a problem with toilet training. For example, all-day Internet access purchased for the cost of a single cup of coffee. Yes those squirming digital itinerants are squirming about more than their dose of caffeine or digitalia.

Hypergraphia

Another disorder is Hypergraphia, an intense desire to write. But not only write as in a private avocation but public writing, or picture taking (or a combination) combined with a strong desire to popularize this material, if even among a set of acquaintances.

Exhibitionism

This is a sort of literary Exhibitionism, albeit perhaps without malicious intent. What is exhibited, besides the physical writing or picture taking (moving and otherwise), is not so much a sexual organ, but something akin to the organ of travel, and its related erogenous zones.

Dietary Exhibitionism

As is now well-know, the obsessive-compulsive disorder to photograph and display the undigested contents of ones meals has become increasingly common. The memorializing of the most trivial thing as lunch, is sad indeed. It well may be related to expeditionary travelogues and the digital nomadic lifestyle, as by itself it may constitute an uncontrollable urge to wandering in miniature: Gastronomic wandering, the wandering of the stomach.


Dromomania and the Permanent Traveler originally published at mcneill.io

 

Mary Meeker – Internet Trends – ReCode Conference 2016

Takeaways – Macro and Micro

It was great to get some macroeconomic trends in this year’s report, so we can see not only inside the industry but externally. And folks, it does not look good for many.

  • 3bn global internet users, growth flat at 9%, decelerating if exclude india
  • Global smartphone users slowing, 21% vs. previous 31%, shipping units up 10% down from +28%
  • GDP growth slowing, commodity prices down
  • Emerging Asia + China is 2/3rd of global growth
  • Debt loads on governments are growing faster than GDP, global debt is a problem
  • Population growth slowing, 1.2% per year
  • Adjusting to slower growth, rising debt, and an aging population introduces risk
  • US Internet Advertising is accelerating, up 20% vs. 16% the previous year
  • Google and Facebook accounted for 3/4s and rising share
  • Internet ads largely ineffective, especially video. 81% of users mute their ads.
  • 420 million users use ad blocking software on mobile, up 100% year on year
  • Great ads on snapchat: authentic, entertaining, in-context, and brief
  • Millennials, largest generation in the US, 27% of population
  • The messaging secret sauce is the magic of the thread, conversational, remembers identity, time, specifics, preferences, context
  • Voice interface improving
  • We may be entering a second golden age in the automotive industry, to be determined

Slides from Mary Meeker’s Internet Trends Report

Massive

Remarks about WordPress Development Lifecycles

This is a set of notes and remarks rather than anything comprehensive or systematic. The main point is learning from the fact that there is a development lifecycle in terms of consuming software products, and make better adoption decisions through a set of heuristics.

By development, we need of course to expand this to encompass what is generally known as design, development, devops, sysops and ongoing maintenance. The key to reducing risk in WordPress development is to understand the lifecycle.

penguin-lifecycle

WordPress Development

By WordPress development, we can include all of the following:

  • Selecting a new theme or theme framework
  • Making a choice between plugins
  • Deciding at what point custom development is needed
    • Themes
    • Plugins
  • Hosting decisions
  • Security issues
    • hosting and operating system configuration
    • security plugins
    • secure plugins

Obviously the term development is being used in its very generic sense. Still, we can separate it from marketing and from content, which are the two other legs of the WordPress three-legged stool we use as a platform for publishing.

Development Lifecycle

By lifecycle we understand that there is birth, growth, decline, and death. Development itself can be understood as the building up of something. We usually understand development as a period of time for building and a period of time for maintaining. This is obviously an architectural metaphor. However, it is really not useful or apt when looking at software development. Why is that?

  • Software can be refactored
  • Software can be loosely coupled or integrated with other software
  • Software versions are released over time, which tends to include more features
  • Software can become obsolete when it is rendered incompatible with other systems, software, or coding practices
  • Software can become unusable when new versions introduce new problems
  • Software can become a greater risk to use when it is abandoned by its original developers

Finally there are financial considerations such as when free versions of critical plugins or themes are no longer available, forcing all users to pay or to spend considerable time migrating to others.

Risk Management

All of this comes down to the basic concept of risk management. Risk is danger to an organization, in terms of the likelihood and severity of present or future costs. While deciding which plugin to use for a contact form seems fairly innocent (and generally it is), things like multilingual, ecommerce, or elearning systems require a much greater investment in installation, configuration and maintenance, with much higher switching costs.

Lifecycle Heuristics for WordPress Development

Because a lifecycle deals with unknowns in the future, it is never perfect and there is always risk. However, there are certain heuristics — rules of thumb — that can be used to help mitigate and minimize risk. The following are an assortment of heuristics that, while not always accurate, do help minimize risk.

WordPress Theme and Theme Framework Heuristics

Most themes are not maintained for long. The average half-life of a theme (the amount of time by which the probability of it being abandoned is 50%) is most likely immediately after the first version is released. Many try to minimize this risk by paying for a theme, but the same is true of paid themes.

Theme frameworks have a much longer lifecycle, as they are made for designers and developers who will pay maintenance fees in order to get some stability and continuity. Regular subscription fees are a motivator for theme frameworks to incrementally improve and maintain compatibility with the every changing panoply of plugins as well as WordPress core (which has major releases three times per year).

However, yearly maintenance fees do not remove all risk, and the lack of yearly maintenance fees are not a sign of impending abandonment. Ultimately, one should consider any theme framework from the perspective of the following question:

If this framework is abandoned tomorrow, will it meet my needs and is it worth whatever maintenance I need to do myself, for the next two years or more?

Since a framework will eventually be replaced (i.e., it has a lifespan, and is not immortal), risk management consists of a clear-eyed assessment of the functionality vs. maintenance costs (in time and money) as well as opportunity cost for going with a different system.

Ultimately, one should build one’s own theme and child themes. The risk of course is building something that does not meet present or future needs, and/or is too time-consuming to maintain. Several years working with other themes and theme frameworks for a given website or set of websites are the ideal approach to understanding the design space. Indeed, working with an incomplete or aging theme framework can be extremely informative in terms of producing a set of requirements for a theme and child themes that will provide excellent value for years to come.

Some of the following may help flesh out the requirements from a functionality perspective:

  • No javascript or gracefully degrades without javascript
  • Support for screen reader CSS
  • Responsive design with target viewport dimensions
  • Plays nicely with all current plugins, especially those with important functionality, e.g.,
    • WooCommerce
    • ALO EasyMail Newsletter
  • Can potentially replace one or more plugins where that makes the most sense, e.g.,
    • Custom search and 404 pages
    • Remove author pages
    • Custom templates that display lists of all posts organized by category
  • Single CSS file

WordPress Plugin Heuristics

Plugins are a boon and a bane in WordPress. One needs many of them (some for a single tweak here or there to WordPress Core), they constantly age and require updates, are abandoned, conflict with one another and with new versions of WordPress Core. Here are a few heuristics that might help with risk management:

  • Older, massively popular plugins are in general a better bet (even if abandoned), because the large userbase will come up with fixes when problems arise.
    • There is one huge caveat to this, and that is monolithic plugins that continue to add features. This usually means ongoing problems and the introduction of new bugs. Yoast is the biggest poster child for a very popular plugin that breaks continually over the years.
  • Simpler plugins rather than more complex (best-of-breed vs. all-in-one)
  • Plugins that operate with shortcodes rather than wysiwyg drag-and-drop interfaces
  • Plugins whose configuration is stored properly in custom tables or extending custom posts and metadata
    • Examples include Redirection and ALO EasyMail Newsletter
  • Using custom posts, metadata and shortcodes makes the functionality more abstracted and does not require the front-end to use parameters such as ?variable=value
  • Plugins which, if removed, either degrade gracefully in terms of the content or data left behind, and/or are easy to work with using regex search-and-replace (e.g., unique shortcodes)
  • Plugins which do not have a pro (paid) version
    • Plugins which have a core part that is free and additional plugins that are paid are a better source of stability and risk minimization, as the core part needs to be maintained in order for the paid plugins to remain viable
  • Plugins with active development (even if sporadic)
    • That said, some of the most important plugins I rely on have not been updated for years (occasionally requiring I do a little hacking)
  • Plugins made by a supergenius who uses the plugin themselves (note the supergenius requirement, along with dogfooding)
  • Plugins around which an ecosystem has formed to extend and enhance
  • Plugins that use or can interact with the latest security standards and configurations
  • Plugins where support on WordPress.org is available (rather than requiring using an offsite system for help and support)
  • Ratio of 5 stars to 1 star reviews (should be around 10:1, whereas when it gets around 4:1 this signals poor quality)
  • Retention rate (Active installs / All time downloads)
    • Note that over time this ratio gets smaller naturally, so for very old plugins this doesn’t work, but for 1-3 year old plugins it is a good indicator

In some cases a set of plugins need to be replaced because of a need (or opportunity) for speed and/or security and/or functionality. For example, Postman SMTP allows for OAuth2, a new security standard. But this has knock on effects in that some Newsletter plugins don’t support this, so it would require migrating to a new newsletter plugin. So a final heuristic is keeping up with good coding practices (without simply embracing every new (not necessarily good) idea.

 

Originally published at https://mcneill.io/wordpress-development-lifecycle/

Release Cycles and Lifecycles

Release Cycles and Lifecycles of software (and hardware) are interesting. How these releases are structured, who does them, and the planning and development process is fascinating from a rollout-of-features perspective. Development release cycles can also be applied to services.

Operating System Release Cycles

Of course we know how Microsoft is getting into trouble with their multi-year release cycle. Apple seems to beat them quite handily with a yearly release, but that is about hardware more than anything. My current comment on Apple’s OS is that it is pretty much like Microsoft, in that we get shitty releases, some patches, and then a better version (or not) in a year. Everything post-Lion has been a huge disappointment, little gadgety enhancements notwithstanding. The fact that the designer guy has had a complete run over Safari, not to mention Safari’s lagging technical chops should indicate how the helm of the software shop is undermanned, to say the least.

In any case, the 6-month release cycle of Fedora and Ubuntu is a pretty good timeframe (for an operating system). Of course Fedora server and Ubuntu LTS versions have a longer and different lifecycle due to stability and security issues.

Application Release Cycle

The 4 month WordPress release cycle is good for fairly complex applications (server or desktop/mobile). It should be obvious that bug fixes and point releases should be liberally sprinkled in to keep everyone aware of the relevance of an application (or operating system). They key of course is to provide value (not introduce new bugs), definitely squash current bugs, and of course security updates.

Unfortunately most organizations don’t do this well. Two recent examples spring to mind. CyberDuck’s MountainDuck which was a poor attempt at copying Transmit’s Disk functionality — and broke the base CyberDuck application functionality every other release or so. As well, the OSX implementation of CloudMagic, which also went on a yo-yo of implemented and broken functionality. (CloudMagic is a silly name, and ultimately a failed approach which is to remove information and the advantage of a large screen, essentially upsizing (slightly) the iOS app.)

Release Cycles and Professional Services

Release Cycles can be implemented in ongoing professional services. The key is to provide visible value (even if only conceptual) rather than a monthly task list and invoice. Here is a sketch of how one might approach this, with new and current clients.

  • Begin with a version 0.1 which is a baseline, where we are
  • If one has already been at work for 4 months or so, stretch back that amount of time. (April, August, and December are good months to have releases in.)
  • Next major release is in the next month. Note that a major release doesn’t have to have major changes, just a numbering to put a stake in the ground and indicate a milestone for measurement.
  • Now that there is a release cycle, one can put some structure around that (known process)
  • Finally, add items to the development roadmap which consists of the major releases (and their point releases).
  • Of course weekly meetings, email, chat, and wiki work should always take precedence, but now there is a set of time horizons around which to structure discussions.

Originally published at mcneill.io/release-cycles/

The future of Web development isn’t MVC, it’s MVM

Yes, finally MVC Smalltalk discussion, thanks!

Dan Newcome, blog

When Ruby on Rails hit the Web development world in 2005, it changed everything practically overnight by bringing a pattern rooted in Smalltalk to the Web. I’ve been playing with the recently-released Meteor Web framework and I think that an important and equally momentous shift is taking place in the Web world.

It started with Node.js

More recently, Node.js changed everything again with the idea that the Web could evolve beyond the model where every request/response pair was fully cached on the server before processing was complete. Unfortunately for all of the interesting new possibilities that Node offered it was pretty low-level if you were coming from a mature Web framework.

Node allowed you to write Web services that were difficult or impossible to write previously. Streaming services that made long-running connections and broadcast-style chat apps became trivial to write instead of requiring lots of tweaking and custom server configurations.

View original post 598 more words