Breaking

Saturday, November 29, 2014

11/29/2014 06:19:00 PM

Attack of the one-letter programming languages

From D to R, these lesser-known languages tackle specific problems in ways worthy of a cult following.

 Attack of the One-Letter Programming Languages

Watch out! The coder in the next cubicle has been bitten and infected with a crazy-eyed obsession with a programming language that is not Java and goes by the mysterious name of F. The conference room has become a house of horrors, thanks to command-line zombies likely to ambush you into rewriting the entire stack in M or R or maybe even -- OMG -- K. Be very careful; your coworkers might be among them, calm on the outside but waiting for the right time and secret instructions from the mothership to trash the old code and deploy F# or J.

A long time ago -- long before Netflix, Hulu, and HBO battled for the living room -- people went to the movie theaters for their weekly dose of video streaming. There were usually only two movies, and you couldn't choose the order. (The horror!) The double feature began with the big stars -- the Javas and JavaScripts of the acting world -- but then it got interesting. The second feature, the so-called B movie, was where the new ideas, odder actors, and weirder scripts found their home. Some proved rich enough with exactly the right kind of out-there thinking to garner significant cult followings -- even break through to the mainstream.

The programming languages with one-letter names are one such corner of the Internet. They're all a bit out there, with the possible exception of C -- a language that once received top billing but is now lucky to be opening for the printer-driver convention.

They may not be for every job -- many are aimed at specialized tasks -- but that doesn’t mean these one-letter languages comprise a gallery of misfits. Each offers compelling ideas that could do the trick in solving a particular problem you need fixed. These languages all embody the crisp, simple nature of their names. K?

One-letter programming language: C

Long ago, when Brian Kernighan and Dennis Ritchie, aka K&R, set out to write Unix, their plan was to use B, an internal language at AT&T. But B couldn't address individual bytes, which was a big deal because the fancy new PDP-11 came with the immense-for-the-time 16-bit words. K&R added more bit-banging features to create C, which quickly became popular as it was the lingua franca for Unix. The language grew as it added object-oriented features to become C++. Apple adopted another variant called Objective-C, which it is now starting to get out from under with the introduction of Swift, if only a little.

Of course, programming is a lot different now than it was in the early days of Unix. There are so many bits and bytes that the programmers can't keep the pointers straight. Thus, most of the serious work these days uses languages that take all the power out of the hands of the coders. C lives on, though, in the hearts and minds of those who still need to tweak the bits and bytes of the lowest levels of the operating systems and boot loaders. If you're writing a printer driver or fiddling with the context-switching of the kernel, it's still a big star.

While certainly not the first one-letter programming language, C has become somewhat of a granddaddy of the one-letter programming language naming tradition, given its far-reaching popularity. Consider it the B-movie crossover cult classic that became a mainstream hit.

One-letter programming language: D

When the new millennium began, many looked at C and found it both wonderfully flexible and expressive but a bit of a pain. It was one step above assembly language, so it was easy to work with the bits and bytes flowing into and out of the CPU. On the other hand, the language did little else, and programming in C became a constant struggle of juggling pointers while trying not to add security holes.

D's creators wanted to build a language with as much expressive power, but many of the modern conveniences like garbage collection and type inference. You can write simple bit-bashing loops while knowing that the D system will clean up the messy bits of memory and prevent you from doing something truly stupid with data structures. Apple took a similar strategic path when it created Swift.

There are some features, like objects, that everyone expects and some surprises, like constructs for functional programming. If you want to make a variable immutable -- a oxymoron, I know -- you can do it and use it in a recursive function. It has most of the raw power of C but upgraded with a modern sensibility. If you're writing device drivers, now you can do it without worrying -- as much -- about memory or simple pointer errors.

One-letter programming language: F

The first big language was Fortran, and for years the language grew by adding features. Programmers half-joked that they didn't know what the next generation of programming languages would be, but they knew it would be called "Fortran."

This is half-true. Well, one-seventh true -- F is a cleaner, simpler subset of Fortran created by the Fortran Company, a group whose motto is "For Fortran Enthusiasts by Fortran Enthusiasts." The mechanisms for working with data are mostly there, so you can feel right at home writing loops, but they cleaned out the cruft (like the EQUIVALENCE statement) that confused beginners.

The language is designed to work well with the past. You can link to Fortran 77 and all the software you still have stored on dusty decks of punch cards. In fact, it's not really a stand-alone tool. You simply turn on a command-line option (-std=F), and your Fortran 95 compiler becomes an F compiler by enforcing the cleaner rules.

If you're keeping a factory or refinery running without rewriting a huge pile of legacy Fortran 77 code, now you can enjoy a slightly more modern language for writing the glue logic.

One-letter programming language: F#

F# has nothing to do with F. In fact, F# is different from F in deeper ways than C# is different from C. While F is the latest version of the classical imperative programming, F# is devoted to functional programming, the idea that software is better when it is built out of simple functions that don't mess around with outside data, often called side effects. This can lead to code that's easier to understand, faster to debug, and more amenable to compiler-driven optimization and parallelization.

Not everyone has a positive experience with functional programming, and some complain about the strange code they must write in order to shoehorn their business logic into the functional paradigm. F# is said to be "functional first," which means you can cheat. There are loops, arrays, objects, and -- gasp -- mutable variables.

There are versions available for major platforms such as Android, iOS, and some desktop operating systems. There are also tools for moving your parallelizable routines to GPUs.

One-letter programming language: M

A long time ago when acronyms actually had to have words behind them, some developers building a database for the medical world called their product the "Massachusetts General Hospital Utility Multi-Programming System," presumably because it boiled down to "MUMPS." (Hah.) When the naming trends changed, the MUMPS world renamed it M, a decision blessed by the ANSI in 1995. The name change isn't sticking, though; in the week that I wrote this, more than 20 jobs were posted on Dice.com looking for MUMPS programmers and only one of the subject lines called it "M/Mumps."

The language itself is often considered one of the earliest examples of a key-value database, the model now being rediscovered as NoSQL data stores. But you don't do your work with queries sent to a distant, mystical entity behind a curtain; you dump your data into what looks like a variable and MUMPS -- er, M does the work of storing it. It handles the caching and moves it between memory and disk.

The medical world, including the Veteran's Administration, remains one of the biggest users of the language, but there have always been redoubts in other industries such as banking where there's a need for processing large amounts of data. The M community is proud to crow that the European Space Agency wants to use it to analyze the data coming back from the Gaia mission.

If you're searching through big tables of medical records to find the cure for a disease, this can help you find the answer.

One-letter programming language: P

There was once something called P-code produced by the Pascal compiler. It was meant to be a machine-independent version like Java class files, but that has little to do with the language that Microsoft calls P today. This version is designed to make it easier to write code for all the little machines in the world, the Internet of things. These often spend most of their time waiting for instructions, then they execute it.
P asks the programmer to construct a "state diagram" filled with nodes. The input from the user will trigger the transition from one node to another. A graphical version of the code looks like a bunch of rectangular blocks representing the states with a bunch of arrows drawn between them. The asynchronous commands trigger a jump from one box to another along one of the arrows.

Microsoft has built both graphical and textual ways of specifying P. The compiler converts your state diagrams into C code, which is, in turn, compiled as usual. In the past, simply handing the state diagram to a programmer produced code that wouldn't always make the right transitions. Asking the compiler to convert the state diagram in a regimented way will generally do a better job than all but the best programmers. Microsoft recently used the techniques to improve its work with the USB stack.

If you're creating code for an elevator controller or a microwave, a car, or any other element of the Internet of things, this offers a simpler way to build out the state diagram.

One-letter programming language: R

A long time ago when mainframes ruled the earth, R was called S and researchers used it to compute statistics. The names changed when researchers added lexical scoping, but it still feels like an online scratchpad for extracting statistics from large tables of data. You load data, call functions to plumb the data for correlations, then turn these correlations into elaborate graphs.

Using R is a bit easier now thanks to tools like Rcmdr, RStudio, and a half-dozen more, with the interest in big data encouraging the creation of other options. Without R, all you have is a table full of numbers. With R, you can build fancy graphs of elaborate numbers that might even explain what's going on inside that inscrutable table.

One-letter programming language: J

Once upon a time, a manager counted the lines of software coming out of the cubicle farm and determined that programmers wrote N lines of code a day. It didn't make a difference what language was used -- the company would get only N lines out of them. The manager promptly embraced APL, the tersest, most powerful language around, created by IBM for manipulating large matrices of numbers, complete with special characters representing complex functions for further terseness.

Along the way, everyone got tired of buying special keyboards from IBM, but they loved the complex functions that would slice and dice up big matrices of data with a few keystrokes. J is one of the spinoffs that offers the power of APL, but with a normal character set.
If you have vast arrays of data, you can choose one column and multiply it by another with a few characters. You can extract practically any subset with a few more characters, then operate on it as if the complex subset were a scalar. If you want to generate statistical abstracts, the creators of J have built large libraries full of statistical functions because that's what people do with big tables of data.

One-letter programming language: K

J is not the only sequel to try to bring APL to a bigger audience by remapping everything to a standard keyboard. K comes from a different group, the crew that first built A, then A+. After that, they jumped inexplicably to the letter K, which offers many of the same extremely powerful constructs for crushing vectors and multidimensional arrays. You can express extremely elaborate algorithms for working with arrays in a few keystrokes.

It's worth marveling at the stark power of this one-line program to find all prime numbers less than R. It's barely even half a line:

(!R)@&{&/x!/:2_!x}'!R
 
In fact, it's less than half a line -- it's exactly 21 characters. You could probably pack a K program for curing cancer into a single tweet. If you're crunching large multidimensional arrays of business data into answers, you can save your fingers a lot of work with K.

One-letter programming language: G

A number of projects lay claim to the letter G, but one popular option differentiates itself from the pack in very interesting ways. While people talk about the Internet of things as if it were entirely new, G programmers have been using their code to build physical items from the beginning. The language is widely used to control the milling machines that turn a block of metal, wood, or plastic into an object.

Many versions of G have surfaced in the 50-plus years it's been around. As the machinery became better, G adopted a number of functions for positioning and repositioning the cutting tool. The syntax is largely unreadable to neophytes, and it is more like assembly code than any elaborate computer language. G96, for instance, is a code that changes the relative speed of the cutting tool. It's followed by the speed. This lack of abstractions may be why many operators call it "G-code" instead of thinking of it as a full language.
11/29/2014 10:58:00 AM

HP’s former CEO Carly Fiorina explores GOP presidential run

Fiorina, HP's chief from 1999 to 2005, ran for U.S. Senate in 2010.

 Carly Florin at CPAC 2014

Former Hewlett-Packard CEO Carly Fiorina, who has never held public office and was fired from her HP job in 2005, is considering a run for president. And why not?

Fiorina has experience running a firm, HP, now ranked 17th on the Fortune 500 list, and ran a credible campaign as the Republican nominee for U.S. Senate in California in 2010.

There are some two dozen potential candidates in the 2016 Republican presidential field, but Fiorina is the only woman so far. Fiorina has been turning up on lists of prospective GOP candidates for months, but the Washington Post reported Wednesday that she is now actively exploring a run.

In her 2010 U.S. Senate race, Fiorina challenged Sen. Barbara Boxer, losing the race with 42% of the vote against Boxer's 52%.

Fiorina also worked 2008 as an economic advisor to Sen. John McCain, (R-Ariz.), the GOP's presidential nominee.

Karl Rove, a GOP political consultant and advisor to President George W. Bush, has counted 23 people who have publicly expressed interest in running for president in 2016.

In assessing Fiorina's potential, Rove wrote that Fiorina "is a businesswoman who broke the glass ceiling in 1999 by becoming Hewlett-Packard's CEO, but she will have to explain why the HP board dismissed her in 2005."

Fiorina became CEO of HP in 1999, and is most noted for leading the $21 billion merger of Compaq in 2001, an effort to expand the company's reach into the consumer and enterprise PC market.

The merger was opposed by Walter Hewlett, the son of HP's co-founder and other family members, who said the PC business "is neither growing nor profitable" and argued that HP was better off as a stand-alone firm.

IBM reached a similar conclusion about its PC business, and sold it to Lenovo in 2004.

The Compaq merger didn't improve HP's fortunes, earnings fell, and the board ousted her. The PC division has remained an ongoing problem. The company recently announced plans to spin off that business, effectively reversing Fiorina's merger.
11/29/2014 10:53:00 AM

Coming soon: Murder by Internet

Security experts believe the Internet of Things will be used to kill someone.security snafus deadly death skull bones fatal

Imagine a fleet of quad copters or drones equipped with explosives and controlled by terrorists. Or someone who hacks into a connected insulin pump and changes the settings in a lethal way. Or maybe the hacker who accesses a building's furnace and thermostat controls and runs the furnace full bore until a fire is started.

Those may all sound like plot material for a James Bond movie, but there are security experts who now believe, as does Jeff Williams, CTO of Contrast Security, that "the Internet of Things will kill someone."
Williams, whose firm provides application security, doesn't know exactly how IoT might be used to kill someone or what device will be implicated in the nefarious scheme, but considers it a certainty that a connected device will play a role in a murder.

Similarly, Rashmi Knowles, chief security architect at RSA, said something similar in a recent blog post, imagining criminals hacking into medical devices and starting "a complete new economy" by blackmailing victims.

"Question is, when is the first murder?" wrote Knowles.

You can dismiss these concerns as hype or exaggeration, but many security community predictions about earlier Internet-related risks have become true. As businesses raced to develop Web platforms, security experts imagined massive breaches and thefts of personal and financial data in every way possible. There's no question they were right.

Today, there is a new "rush to connect things" and "it is leading to very sloppy engineering from a security perspective, which makes ... internet of things devices very attackable -- the way web applications were 10 years ago," said Williams.

There are industry verticals that are trying to avoid IoT security problems from the onset by setting up industry collaborations, said John Pescatore, director of emerging security trends at the Sans Institute.
One major effort, the Industrial Internet Consortium, was founded in March and includes IBM, HP, GE, Microsoft and Toyota, among many others. It is now working on IoT security issues. There are other industries, such as medical device and automotive, that are doing much the same thing.

Enterprise users, however, will have to integrate all these technologies, with multiple operating systems, and then make them all work together as a system, said Pescatore. He noted the difficultly it took to get security standards on a PC.

"I think it makes the system integration a lot harder," said Pescatore, and it was "hard enough doing PCs and servers."

New methods of securing IoT devices may emerge. For instance, in the scenario where a furnace runs constantly in an effort to burn down a house, the power passes through the electric utility, which can act like a managed service provider, or quasi-firewall, and take action when a power use anomaly is detected, said Pescatore.

Predicting murder via the IoT is, for now, nothing more than speculation. But the risks, and the types of risks, are increasing.

In a speech earlier this year, CIA Director John Brennan said that as "we move closer to what some are calling an 'Internet of Things,' there will be more devices and systems to protect -- and, equally worrisome, more that can be used to launch attacks."
11/29/2014 10:52:00 AM

Top Cyber Monday tech deals

 http://www.computerworld.com/article/2851723/top-cyber-monday-tech-deals.html

While Cyber Monday has long taken a back seat to the holiday shopping tsunami that is Black Friday, this year things may be different -- especially since some sale prices on the Monday after Thanksgiving could be better than day-after-Thanksgiving deals.

"Cyber Monday brings savings that are 10% - 14% better than Black Friday," claims "deal journalist" Matt Granite, who hosts the Ways to Save segment aired on Gannett-owned local TV stations. "That's based on my findings from last year and the trends we expect this year. Obviously there will be exceptions, but this is my prediction for many major categories."

One Cyber Monday drawback, though, is that specials can be harder to find. Fewer show up in TV ads and newspaper circulars, which means if you're not subscribed to an online retailer's email list, you may miss some of the day's best shopping deals.

But here's the good news: We've done a lot of the legwork for you. We've scoured the Web, signed up for email specials and monitored social media to help find you some of the best tech specials for Dec. 1 online shopping.

Ready to shop? Check out the searchable, sortable chart below to see if there's a deal that appeals. And remember to bookmark this page, because we'll be updating the chart as we find out about more Cyber Monday specials.

Friday, November 28, 2014

11/28/2014 08:26:00 PM

Learning a second programming language? Try these 5 sites

Want to switch between programming languages? These sites show developers how to bridge the gap between languages and frameworks.

white code streaming across black background

Developers trying to jump from one language to another often hit the same wall: How do I do this? They can do it in their base language, but introduce them to a strange new world, and the going gets rough.
Programmers in this sticky position often benefit from seeing how the same concepts, designs, and algorithms can be implemented in parallel across multiple languages. Here are five sites that feature examples of how the most popular languages -- and a few you might not know -- tackle the same commands so very differently.

Rosetta Code

Easily the largest, most robustly annotated, and consistently useful site of its kind, Rosetta Code is described as a "programming chrestomathy" -- a repository of examples for how to accomplish the same tasks in many programming languages. Most remarkable about Rosetta Code is not the sheer size of the site and the number of examples, but the granularity of the examples. Creating a window in a GUI, for instance, isn't annotated by language, but by specific toolkits within that language; take Python, with examples for Tkinter, PyGTK, Pythonwin, wxPython, and many other libraries.

Eqcode

Eqcode aims to show "equivalent codes for all languages," so it provides an index of common languages with drill-downs to specific concepts or tasks, such as removing a specific element from an array or constructing a regex to match an email address. The breadth of languages is decent, but the concepts addressed are somewhat scattershot, and it isn't updated often; the last updates were in April 2014.

CrossWise

Like the other sites here, CrossWise lets you see how multiple languages -- in this case, JavaScript, PHP, Ruby, and Python -- implement the same concepts. But the site design is undeniably ingenious: The comparisons are placed side by side in two columns, and you can choose which language examples to place in what column. CrossWise covers such details as how Boolean logic (the concepts of truth or falsehood) are implemented in each, or error handling and exceptions.

AlgPedia

An ambitious project created by Universidade Federal do Rio de Janerio in Brazil, AlgPedia is a collaborate encyclopedia that focuses on implementations of algorithms. Sorting, checksumming, arbitrary precision, data mining, pattern matching, and many other categories of algorithms are all included. The project is still in its early stages, so the coverage of algorithms and the types of examples provided are somewhat incomplete; most of them have only one or two examples.

PLEAC (Programming Language Examples Alike Cookbook)

Perl is noted for the Perl Cookbook, which documents common programming problems and their solutions for the language. PLEAC is an attempt to take the problems posed in the Cookbook and produce solutions for them in nearly every other language in use. Perl, Groovy, Python, OCaml, and Ruby have the best coverage of solutions so far, but stubs and partial entries for lots of other languages are also included. Interestingly, JavaScript is not among them, but a stub entry for CoffeeScript is. As with many of the others here, you're welcome to contribute if your favorite language is underrepresented.
11/28/2014 08:07:00 PM

14 mistakes that will kill your indie dev shop

Indie developers take heed: Heads-down coding is a one-way ticket back to the corporate grind.

 magental tinted image of worker at laptop computer 91910925

Deciding to go it alone as an independent software developer is a liberating experience. The thrill of being your own boss cannot be denied -- neither can the fact that being your own boss means building a business. It’s no longer simply about the code. Everything is your responsibility, from paperwork to partnerships, and with this increasing burden come greater pitfalls that can sink your business.

While one little mistake might not tank your independent software business immediately, such missteps tend to accumulate. It’s easy to get lost in your code, thinking everything is fine; suddenly, a pack of problems pounce from the shadows to tear your business to shreds.

Then it’s back to the résumé heap, hoping to get hired as a full-time employee again.
Here are 14 mistakes independent developers too often make in going it alone -- and how to avoid them. Good luck!

Indie dev mistake No. 1: Coding yourself out of business

High-quality code is vital to independent developer success, but heads-down coding is a job, not a business.
To be certain, you should always be thorough, with an eye toward delivering the best code you can. But make sure you have something else in the pipeline to work on when you’re done.

When coding, it’s all too easy to focus only on the work in front of you. In fact, it’s far more efficient to devote yourself to coding than it is to task-switch between development, marketing, sales, planning, administration, and so on. But that’s exactly what you will have to do to succeed. Billable work pays the bills, but finding more work keeps your business afloat.

Indie dev mistake No. 2: Forgetting that you are your brand

You may not realize it starting out, but even if you are working solo as an outside contractor with only one client, you have a brand, and that brand is you. Remember: A brand is a promise of quality and consistency, and though it can stand for whatever you think is important as a developer, it must be precise.

How you present yourself, your work, your team, and your development philosophy is the bedrock of your brand, and it should be reflected in all facets of your business, from your website to your business card to how you discuss your work with a casual acquaintance on a day off. If you are vague or inconsistent, your business will suffer.

Too often, independent software developers define their business by a tool or fad. Brands built around tools quickly become commodities -- would you rather hire a “Java shop” or an “expert in enterprise applications systems development”? Brands built around the latest trends can be lucrative, temporarily, but they too quickly become commodities.

The more specific you can be about your work and what you stand for, the easier it is to distinguish yourself from others, and the easier it is to identify and locate potential clients. More important, establishing a clear brand makes it easier for potential clients to identify and locate you.

Indie dev mistake No. 3: Trying to be everything to everybody

Customer satisfaction is essential to your success as an independent developer, but trying to please everybody can sink your business quickly. It causes you to spread your resources too thin, in the end pleasing no one.

This doesn’t mean you shouldn’t go the extra mile to serve clients to the best of your ability, or never take on work outside of your comfort zone. But pay attention to the limits of your abilities and resources. Over committing or signing up for work you can’t complete to the level your customers expect can quickly poison your business.

Instead, be diligent about logging your work, so you can be accurate in estimating your bandwidth when special requests arise. Increment your experimentation into new areas rather than promise to deliver big, merely because you know you can learn new tools quickly. Remember -- you have a business to run, and mastering tech to the level of your brand takes time away from paying work.

Indie dev mistake No. 4: Targeting the wrong market

Small businesses struggling to grow out of manual systems may seem like the ideal client for your fledgling independent software business; after all, they stand to reap the greatest benefits from automation. But they can also be the least trusting of technology and outsiders, and their cash flow may not be consistent enough to afford your services.

Targeting the “right” market is more art than science, but one vastly oversimplified maxim is to seek a combination of fit, finance, and fearlessness. Finding the best fit for your services is a complex, volatile process of ambitions, problems, needs, skills, gaps, benefits, and timing. There is likely to be no external signals for these, so you have to talk to a lot of people in various industries and organizations to find out. As you are doing this, you can assess the financial issue -- if an industry or organization can’t afford your services, the whole process is pointless.

Gauging “fearlessness” is more of a gut instinct. Do the players in your targeted market have the organizational courage to see your partnership through? Software systems change business operations; for many industries, and many organizations, change is scary. Don’t get lost chasing timid leads.

Indie dev mistake No. 5: Failing to identify the true project "champion"

Every software project has a “champion” (or “patron” if you prefer). This is the person with the authority to write the checks to pay for your work and the will to defend your project internally to ensure it succeeds. It is essential to identify this person and cultivate a meaningful relationship, where possible.

All too often the champion is not present, revealed, or even mentioned in consultative meetings. Worse, department heads or senior executives often insist they have the authority and budget to get the project done, when in fact that is not the case.

Always look at who signs the checks. In some companies, department managers have discretionary budgets and are indeed the champion of their projects. In other companies, executives higher up the chain -- sometimes more than one -- are the true, hidden champions; their approval is required for project expenditures.

It’s not unusual, especially in smaller, privately held businesses, for the company president to be presented as the project champion, but in reality the CFO or company owner has to sign the checks. Don’t be fooled into thinking you have a stronger commitment than you actually have.

Indie dev mistake No. 6: Failing to establish (and maintain) a sales pipeline

Selling custom software development is a slow, consultative process. Prospects may know they have a problem, but they may not be sure they really want to solve it. After all, the decision to adopt a custom solution can change the direction and foundation of an entire business; the bigger the business, the longer it takes to decide and turn. Even highly qualified, eager referrals from happy clients can take several months to close.
This means you must always add prospects to your sales pipeline. You must also always measure time spent and results. These numbers are crucial to keeping your pipeline flowing.

Suppose you need one client to support your business for half a year, and you can close one sale in six months for every 600 prospects you encounter. In this simplistic example, fewer than 100 prospects entering your pipeline every month could mean trouble.

In reality, the numbers are more complicated, but the structure of the pipeline remains the same: prospects in, time elapsed, sales out. Always be tracking time to qualify, time to close, average deal size, and close percentages. Use these numbers to project future income from the current pipeline. Subtract future costs and allow for projects (and income) ending. This will give you a leading indicator: If the resulting number is negative or trending downward, you are at risk of insufficient cash flow unless you add more clients to the pipeline.

Indie dev mistake No. 7: Failing to diversify your client base

Most independent software developers get their start with one main client. This can be a great way to strike out on your own, but beware attempting to maintain a business this way. When that one client has a hiccup, you’ll be scrambling -- or out of business.

The other downside of having one main client is that they may start thinking of you as “staff augmentation” instead of “valued business partner,” with demands going up and respect going down simultaneously. Three medium clients are better than one large one. Twenty small clients may be better still, as it is highly unlikely that a majority of them will suddenly stop at once.

Think of it this way: One client is a job; multiple clients, with diverse revenue streams, comprise a business.

Indie dev mistake No. 8: Failing to account for taxes and overhead

Most ISVs are LLCs or S-Corps, both of which are “pass-through” companies in the United States. This means you have to account for and pay estimated taxes as you go, and usually even more at the end of the year; nothing is deducted for you. Even if you pay yourself a salary, your finances can still get complicated and surprising at the end of the year. A good CPA can help, but it takes consistent financial discipline to stay current.

Nothing can sink your business like inattention to taxes.

Indie dev mistake No. 9: Playing fast and loose with collections and cash flow

Most independent development shops run “lean,” as in “very little cash buffer to fall back on.” This can turn a minor payment issue into a layoff-inducing company crisis.

The fact is, clients don’t always pay on time; this is normal, and it helps the relationship to be flexible. But if you notice a pattern -- unexplained delays, administrative misplacement of invoices, waiting on someone to sign checks, and so on -- the client may be having internal problems they aren’t telling you about.
This may be a temporary issue, but it could last long enough to put you under water if you’re not prepared for the possibility. Do your best to keep a buffer and pay close attention to collections. Understand the client’s payment process, who is involved, and how long it takes; investigate immediately if the pattern starts to quaver.

Indie dev mistake No. 10: Hiring people before you have (enough) paying work for them

A chief concern when going independent is knowing when it’s time to no longer go it alone. While staying lean at the expense of adding help is the norm for some, it’s nearly as easy to overestimate the scope or certainty of new projects and bring on eager, even inexpensive talent to help. After all, the only way to grow is to grow, right?

But this can increase your overhead significantly without increasing your revenue -- in terms of both budget and time. Changing processes to accommodate new head count, training new hires, managing workloads -- it can quickly derail your ability to close sales and deliver the quality your customers have come to expect. Hire cautiously.

Indie dev mistake No. 11: Thinking there are shortcuts to sales success

Most developers who go independent do it to solve problems, write code, and deliver results. They may not enjoy marketing and sales activities, but these activities can’t be ignored -- and I do not recommend that you outsource them completely, at least not initially.

There are no shortcuts to sales that work reliably, and each technique and tool alters your process in ways both subtle and gross. Long shots happen, but don’t bet the farm on them; instead focus on steady, reliable, refinable systems that you thoroughly understand.

Evaluate each marketing/sales tactic and tool with the same critical eye you would use when deciding to adopt a new programming language or IDE. Play with it, run some tests and benchmarks, consider how it impacts everything else you’re doing, and resist the urge to change directions too frequently. Even the most reliable, time-tested, surefire sales techniques take time and tweaking to work, so set realistic expectations and timelines, and be wary of abandoning existing systems before you understand them. If you hopped on the latest programming trend every month, you’d never finish anything and would quickly go out of business. The same applies to marketing/sales tools and trends.

Like it or not, there is no escaping the basic marketing/sales education process, learning curve, and effort. Go talk to prospects. There’s no other way to learn this aspect of your business.

Indie dev mistake No. 12: Failing to document, refine, and automate processes and systems

Processes and documentation may seem like the stuff of slow, dinosaur companies -- they may even be the chief reasons you left your corporate job -- but the truth is, an efficient independent software business depends on them.

Chances are you already have processes you have followed, repeated, and refined for years. Some you may have even taught, directly or indirectly, to others. Do yourself a favor: Write them down, discuss and refine them often, and automate wherever possible.

Automation is your bread and butter. You probably extol the virtues of automation to your clients all day long. But your own internal systems are manual or nonexistent. This makes results somewhat unpredictable; worse, it wastes your time -- and for an entrepreneur, time is the most critical nonrenewable resource.
Manual or hacked-together systems are fine to start with, but don’t stay satisfied with them. Removing tedious, repetitive work reduces friction across all processes.

Look first at where most of your nonproductive time goes, and automate that. “Automation” in this sense includes all options, from fully automatic software systems that do everything for you while you sleep, to virtual assistants to personal assistants to outsourcing specialists and any combination of the above.

Indie dev mistake No. 13: Dropping the ball when it comes to support

Poor support is a major reason why clients change service providers. The less support needed, the better, but being known for excellent support is pure gold -- not just because it maintains customer relationships after sales and delivery, but because outstanding support turns your customers into evangelists.

This doesn’t only mean fixing problems in the middle of the night. It means helping clients understand every facet of your solution, teaching them how to perform tasks and fixes themselves, and providing all of the information they need to remain confident they made the right choice for their business’ future.
Because that’s what you build for your clients: their future. You may not have to live in it for long, but they do. Support their decision and vision, and reinforce and reassure them. There is no such thing as “not my problem.”

Indie dev mistake No. 14: Becoming a bottleneck to your own success

When you go it alone, every decision is important, and because it’s your business, you’re on the hook to make every one of them. As your company grows, the decisions mount -- which projects to pursue, how to juggle workloads, where to investigate new leads -- and they can quickly dam up and destroy the company.
With clear guidelines, responsibilities, and processes, delegation can be your most valuable tool, and one that can be comfortable even for the most control-freakish of development shop owners. Know when and how to delegate effectively -- or die.
11/28/2014 07:55:00 PM

Deathmatch review: Windows 8.1 vs. OS X Yosemite

Windows 8.1 has languished as Microsoft seeks to move past its failure.


With OS X 10.10 Yosemite now shipping and Windows 8.1 done with its 2014 update cycle, how do the two flagship PC operating systems compare?

Windows 8.1 and some of its 2014 updates let users avoid most of the Windows 8 experience, so they can return to a Windows 7-like state of comfort. In contrast, Yosemite moves the Mac into new collaborative territory with iPads and iPhones, and it adopts iOS visual conventions. In short, Windows has essentially languished this year as Microsoft turns its attention to the next version to debut next year, and Apple has continued its steady pace of evolving OS X into iOS territory.'

My colleague Woody Leonhard has reviewed 2013's Windows 8.1 in-depth, as well as the Update 1 improvements from 2014, and I encourage you to read his take to understand the nuances of Microsoft's tablet/desktop hybrid OS. I've previously detailed the intriguing new capabilities in OS X Yosemite, which I also urge you to check out. Here, I highlight the key differences, strengths, and weaknesses of the two OSes, both of which I've been using since their first betas were released, organized by InfoWorld's scoring categories for desktop operating systems.

Meanwhile, the new OS X Yosemite changes the visual appearance of OS X to mirror that of iOS 8, while leaving most OS functions working as they did before. Instead, Apple has focused its changes is on new features, such as tighter integration with iOS and iCloud via its Handoff, iCloud Drive, and Continuity capabilities.

For example, using Handoff, a recent-model Mac can detect a nearby iPhone and transfer the email, calendar item, or document in progress there to the Mac. Using Continuity, a wider set of Mac's can answer calls made to a nearby iPhone (though the voice quality is bad) or participate in an SMS conversation on that iPhone.

But at the end of the day, OS X Yosemite is, like Windows 8.1, a small upgrade from its predecessor. For both Apple and Microsoft, it's an era of incremental change.

Ease of use: Windows 8.1 vs. OS X Yosemite

Scores
Windows 8.1: 7
OS X Yosemite: 9

 
Apple defined the graphical user interface as we know it today, and despite nearly 30 years of changes, the core metaphors remain unchanged. That consistency makes it easy to use each new version of OS X, and Yosemite is no exception.

Yet the OS has expanded to support touch gestures in a very natural way, via touch mice and touchpads. Also, Apple's slew of helper utilities -- such as the Quick Look preview facility, the Notification Center, the embedded sharing capabilities, and the Spotlight search tool -- do what Apple does best: offer sophisticated capabilities that users can discover as needed, rather than face a steep learning curve to get started. The Dock and the persistent menu bar also simplify app access, while the full-screen mode introduced in OS X Lion lets users stay focused when they want to be, yet have quick access to the rest of the OS as desired.

Yosemite makes a few small enhancements to that UI: One is that the Notification Center, like its iOS 8 counterpart, can now contain widgets ("extensions"), such as for stock data, current weather, or third-party notions, including Evernote updates. OS X has also changed its unloved Dashboard feature -- which holds an earlier form of widgets -- so that it can now appear as an overlay over your current Desktop screen, not only as a separate Desktop. Still, the Dashboard remains pretty useless. Don't expect it to survive past Yosemite now that the more accessible extensions are here.

The bigger change is the change from iCloud Documents to iCloud Drive. iCloud Documents was awkward to use, with a wholly separate user interface in Open and Save dialogs from the standard Finder, and a clumsy method to move files between iCloud Documents and the Finder. Plus, iCloud Documents were available only to their apps.

The new iCloud Drive works like Dropbox or Box displayed as a virtual disk whose files and folders are accessible using the standard Open and Save dialogs, as well as the standard Finder windows. Apps still have their own folders, for compatibility with iOS apps that use iCloud Documents (including Apple's own iWork suite). On iOS 8, iCloud Drive is treated as an import/export function, not as a direct save/open a mechanism as it is on OS X Yosemite, so there are still vestiges of the clunky iCloud Documents separation in iCloud Drive.



iCloud Drive in OS X Yosemite works like any other cloud service's virtual drive. But it also provides app-specific folders for compatibility with apps designed for its iCloud Documents predecessor, such as Pages here.
In Yosemite, Apple uses iCloud Drive in its Mail app so that large attachments can be automatically stored on iCloud Drive, with recipients getting a link to the file (they don't need an iCloud account to retrieve them). That helps get past attachment limits in email servers.

Still, OS X flaws like the iCloud Document remnants and Dashboard awkwardness pale in comparison to Windows 8.1's dissonant UI and awkward stitching together of two distinct environments: Windows 7 (called Windows Desktop) and Metro (which has no formal name).

As an example of an unfriendly change in Windows 8 not corrected in Windows 8.1, Microsoft has added the ribbon to the File Explorer file manager. Fair enough -- it's standard in Microsoft's apps, after all. But unlike the ribbon in other apps, the one in File Explorer is hidden until you click or tap the corresponding menu. That's fine.

The boneheaded part is that when the ribbon displays, it overlays part of your content window, obscuring whatever is at the top. In a file manager, that's especially problematic. Fortunately, you can turn off this autohide functionality to make File Explorer's ribbon work like all other apps' ribbons and stay affixed above the content area.

By contrast, the Metro part of Windows 8 can be downright elegant in its simplicity, focus, and use of imagery, without distracting chrome such as window frames and menus. It makes Windows 7 look dowdy and archaic.

Another nice touch, taken from Windows tablets, is the Snap feature that lets you run two Metro apps side by side. Figuring out how to enable this feature is not at all intuitive (right-click the upper-left corner of the current app), but once you know how to do it, you can use your Metro screen space more effectively, especially for running widgets that don't need a whole screen.]



The Windows 8.1 Snap view -- once you figure out how to enable it -- lets you use Metro's screen real estate more effectively, especially for widget-style apps like Weather.
Metro still struggles to work well with both keyboard/mouse and touch scenarios. For example, there are two ways to get app options, not in the app's screens, and they're easily reached through gestures. But if you -- like 99 percent of the planet -- use a mouse and keyboard, accessing the sharing and settings services (called "charms") involves an awkward action. If you don't have a physical keyboard, such as for a tablet, you simply can't use certain Metro features. For example, you can't search for an app by typing its name in the Start screen because there's no way to invoke the onscreen keyboard. You really need a keyboard to use a Windows tablet.

Fortunately, Windows 8.1 Update 1 brought two new icons -- Search and Power -- that now make search and restart or shutdown both easily discoverable and simpler to use.]



A pair of small but very useful additions to the Metro Start screen in Windows 8.1 is the Search and Power buttons (at upper right) that make these two common features easier to discover and access.
Despite its simplicity, the Metro environment can be befuddling. The Store app and Internet Explorer are difficult to navigate, for example, and easily let you run in circles. One reason for this: There's little apparent hierarchy in Metro apps, and you often have to use the application bar to navigate to specific functions rather than move laterally among them via the visible navigation controls. It's a bit like being forced to walk through a maze when you actually want to get somewhere as directly as possible.

However, IE11's copying of Apple Safari's iCloud Tabs is a nice touch, letting you access recently opened websites on other PCs linked to your Microsoft account. Windows 8.1 also nicely reworks the PC Settings app to bring in more functions, but you'll still rely on the separate Control Panel in the Windows Desktop, which provides much more control over the PC.

The Windows Desktop part is Windows 7 you know and probably love. The good news in Windows 8.1 is that you can set your PC to boot directly to the familiar Windows Desktop, rather than having to go to the Metro Start screen, then click the Desktop tile. And the taskbar shows running Metro apps now, not only Desktop apps.



Windows 8.1's taskbar shows both Desktop and Metro apps, for easier access to both.
Still, you can unexpectedly pop into the Metro environment by double-clicking a file and finding it opens a Metro app instead of a traditional Windows program. Microsoft wants people to switch to Metro, so it has set the default core apps such as email and media players to the Metro versions.

Also, the Start menu remains missing in Windows 8.1, so it's hard to get to your Windows 7 apps quickly. Microsoft has brought back the Start button, but all it does is switch you between Metro and the Windows Desktop -- as if you pressed the Windows key. (To get the handy Power User menu, shown above, you now right-click that Start button, or you can continue to use the Windows-X shortcut.)

Just as Metro works nicely via touch and poorly via traditional input methods, Windows Desktop works well via traditional input methods and poorly via touch -- Windows 8.1 does nothing to fix that. Icons and menus are often too small to read on a tablet screen, as well as too hard to touch or tap reliably. Plus, touch equivalents for common actions such as right-clicking do not work reliably in the Windows Desktop.
Ultimately, you're switching between two different computers that share a file system and a few core services, and each computer is optimized for a different set of input methods. As InfoWorld has suggested, it would have been better to leave Metro for tablets and Windows 7 for laptops and desktop PCs, then slowly merged the UIs as Apple is doing with OS X and iOS. For most users, Windows 8.1 will be a confounding mess, even if the two piles can be kept a bit more separated.

There is hope: The forthcoming Windows 10 takes many of InfoWorld's suggestions to intelligently merge the Desktop and Metro environments. But until Windows 10 ships sometime next year, you're stuck with the Jekyll-and-Hyde split that is Windows 8.1.

Features: Windows 8.1 vs. OS X Yosemite

Scores
Windows 8.1: 7
OS X Yosemite: 9
Over the years, Apple has made OS X much more than an operating system. It's also a product suite, with a very capable email client, calendar manager, note-taker, browser, lightweight word processor, image editor/PDF markup tool, maps-and-directions app, media player, and instant messaging client.

If you buy a new Mac, you also get the very capable iWork productivity suite (Pages, Numbers, and Keynote), iPhoto (to be replaced next year with Photos, which is not yet in public beta), GarageBand, and iMovie apps for media manipulation and creation. For many users, these apps are all they need. Beyond the assortment of moderately to highly capable apps, OS X has exceptional support for human languages and for people with various kinds of disabilities.

Windows 8 offers much less than OS X across the board, partly because Microsoft wants people to buy or subscribe to its pricey Office suite, so tools such as WordPad and the Mail app in Metro provide only a subset of OS X's counterparts. You can, of course, pay extra for Microsoft Outlook in the Windows Desktop to get a full email client for Windows.

But even where Microsoft doesn't have a product it wants to sell you -- for example, media playback (Xbox Music, Xbox Video, and Windows Media Player) and PDF markup (Reader) -- its tools are decidedly inferior to OS X's (iTunes and Preview, respectively).

And after two and a half years, Metro's Mail app still doesn't support the oldest and most common type of email account (POP). Windows 8.1's services for sharing, notifications, and search are also less capable and more awkwardly implemented than OS X's equivalents.

Some of the Metro apps in Windows 8.1 are more functional than in Windows 8, and they're more like what's available in iOS and Android. For example, the Camera app supports panoramic shooting and the Photos the app allows for basic image manipulation such as cropping and color shifting, as in recent iOS and Android editions.

But the music and video players, calendar, and PDF apps are decidedly inferior to those in OS X. The Alarms app is inferior to what you get in iOS or Android, though OS X has no equivalent. Metro's Weather app is the most compelling of the Metro apps; OS X Yosemite's equivalent is a simple widget in the Notification Center. The Sports app remains a nicely customizable gateway to your favorite sports content.

Also new to Windows 8.1 are apps for scanning documents (long built-in to OS X's Preview and Image Capture apps, where it makes more sense to integrate scanning capability) and maintaining reading lists of Web documents (which OS X's Safari has had for some time, and again a more sensible location for this capability). The Metro Calculator app is very much like OS X's ancient version. Microsoft seems to be throwing widgets into Metro to increase the list of features, rather than creating a suite of compelling apps.

The big new thing in Yosemite is Handoff and Continuity, the features that let Macs work with iOS devices more easily. Handoff is very intriguing, but unfortunately, I found it unreliable on the Mac. Activities on my iPhone 6 or iPad Mini usually did not show up as available to Handoff on the OS X Dock, where they should appear. Ditto for the reverse. Yet Handoff worked nicely and consistently between my iPhone 6 and iPad Mini. For some reason, my 2012 MacBook Pro didn't often get the Handoff message, though it's compatible.



The Handoff feature in OS X Yosemite -- when it works -- is a great convenience if you use an iOS device and want to move what you're doing on a mobile device to your Mac, or vice versa.
By contrast, Continuity worked fine on both a 2009 MacBook Pro and 2012 MacBook Pro: The FaceTime app noticed when my iPhone 6 got a call and let me take the call on my Mac via FaceTime Audio. The same goes for the Messages app with SMS text messages received on my iPhone 6. The rest of Continuity existed in prior versions of OS X and iOS, such as keeping alerts, iMessages, passwords, browser tabs, "where I left off" status, and so on in sync automatically across your iCloud-connected devices.

Handoff needs some work in OS X, clearly, but based on how it functions in iOS 8, the capability holds much promise.

Windows 8.1 has nothing like OS X's Handoff and its equivalents to OS X's Continuity are limited to updating application settings and in the tiny number of apps, "where I left off" status for documents.

Manageability: Windows 8.1 vs. OS X Yosemite

Scores
Windows 8.1: 9
OS X Yosemite: 7

If you're willing to spend the money, you can manage Windows 8 PCs every which way from Sunday using tools such as Microsoft's System Center. Remote installation, policy enforcement, application monitoring, software updating, and so forth are all available.

OS X Yosemite provides similar capabilities through its use of managed client profiles -- including enforcing the use of disk encryption -- through OS X Server. Alternatively, OS X management capabilities are available through third-party tools such as those from Quest Software that plug into System Center or via MDM tools from the likes of Citrix Systems, Good Technology, and MobileIron.

OS X Mavericks rationalized the OS X policy set with iOS, so it's easier to manage Macs using the tools you likely have in place for mobile devices. Mavericks also supported enterprise-style app licensing for Mac App Store apps, a big shift IT should welcome. Yosemite keeps these and adds a few more policies to cover new features like Handoff.

But the degree of control available to Windows admins -- as well as the number of tools to exert that control -- is still far greater than is available for OS X admins.

Security: Windows 8.1 vs. OS X Yosemite

Scores
Windows 8.1: 8
OS X Yosemite: 9

With nearly every computer these days connected to the Internet, security is a big focus, including both application security and data security. Windows has been a malware magnet for years, and antivirus software has been only partially effective in protecting PCs.

Macs have been immune from most attacks, but in the last two years, the Mac has seen a handful of high-profile Trojan attacks through plug-in technologies such as Oracle Java and Adobe Flash. Windows, of course, suffers hundreds of such attacks each year.

Microsoft provides in Windows 8.1 the free but basic Windows Defender antimalware app (as it provided Security Essentials for earlier Windows versions), so you get some native defense against malware. Likewise, Apple has included antimalware detection since OS X Mountain Lion, with daily checks to update signatures and remove known malware.

But Windows' registry makes it harder to truly eliminate malware than Apple's Unix-based approach of relying on discrete files and folders that can simply be deleted if found to be harmful.

OS X has a feature called Gatekeeper that prevents installation of apps without a valid Apple developer signature, meant to block stealth malware from secretly installing itself. You can disable that feature permanently or on a  case-by-case basis (such as to install old software from CDs you trust). Windows will alert you to suspect downloads, but it can't prevent sophisticated malware from self-installing as OS X can. OS X also won't run Java versions older than Java 7, which cuts off a major route for malware infections.

Security researchers such as Trail of Bits say OS X is much harder for hackers to successfully attack than Windows, though Microsoft's Vista and later have done a good job of closing up many holes in Windows XP. Also, many more tools are available to monitor and protect Windows, commensurate to its greater risk, than for OS X.

Both OSes' boot loaders include antimalware detection, and OS X has a password-protected firmware option to prevent startup from external disks. That way, no one can bypass the startup password by booting from a different disk. (One of OS X's handy features lets you boot a Mac from external disks and network volumes easily, which is great for testing and shared environments.)

Beyond such application security, both OSes support FIPS 140-2 cryptographic encryption. Both OSes also provide IT-manageable on-disk encryption, though Microsoft's BitLocker requires a Trusted Platform Module (TPM) chip to implement it fully, and few PCs have such a chip.

For me, that means I can't access corporate email from one of my Windows 8 PCs via the Metro Mail app because it has no TPM to enable encryption; also, our Office 365 Exchange server requires encryption be enabled to gain access. That same server works fine with OS X, iOS, Android, and BlackBerry 10 devices' encryption, and of course it works fine with my TPM-equipped Surface Pro tablet.

Also easier in OS X is data security, thanks to the included Time Machine backup program. With Time Machine, it's dead simple to back up a Mac or OS X Server, and the backups can be encrypted and even rotated among multiple disks. System restoration is also exceedingly easy, with no driver installation or command-line setup involved.

Windows 8 introduced File History, which backs up data files in certain locations to the choice of your startup disk, an external disk, or Microsoft's OneDrive cloud storage service. Like Time Machine, File History keeps incremental versions of these files so that you can roll back to a previous point in time. Unlike Time Machine, it can't restore your whole PC in case of a crash or simply to transfer your environment to a new machine. Windows 8.1 doesn't change that.

Of course, Windows 8 relies on its OneDrive cloud storage service as the default location for Office and other Microsoft apps' files, as does OS X Yosemite for iWork and other Apple apps' files. Cloud storage makes backup less of an issue -- a toasted hard drive doesn't matter.
On the other hand, cloud storage is synced storage, so deletion in one place deletes a file everywhere, increasing the risk of loss. For cloud data recovery, Windows 8.1 moves OneDrive files deleted from the PC's File Explorer to the local trash, so it can be recovered from there until you empty the trash. It also moves files deleted on OneDrive into a trash folder you can access via the Web.

By contrast, for iCloud Drive, you can recover deleted files if you deleted them from OS X, where they're placed in a trash folder. But if you delete them on the iCloud.com website or from an iOS device, they're gone forever, with no undelete capability -- a dangerous move.

Compatibility: Windows 8.1 vs. OS X Yosemite

Scores
Windows 8: 10
OS X Yosemite: 8

Because Windows 8 is Windows 7 with the Metro environment tacked on, it is compatible with all the software, hardware, and services you already have. Yes, some older PCs won't run Windows 8.1, but that's about resource requirements and lack of drivers for those that also don't support Windows 7.

OS X Yosemite, of course, runs only on Apple's Macs, for which there is a smaller set of hardware and software available than for Windows. Although Apple is ruthless in dropping technologies over time as it deems them problematic or limiting, none has been dropped in Yosemite, which also runs on the same Macs that supported the previous version of the OS (Mavericks).

But you can't use Yosemite's new Handoff features unless your Mac is a 2012 or newer model; they require radios that support both Bluetooth Low Energy and Wi-Fi Direct, which earlier models don't have.
OS X is frequently underappreciated for its compatibility with corporate resources. It supports Microsoft's SMB file-sharing; it supports Open Directory and Active Directory; it supports corporate VPNs, and its email, calendar, task, and notes apps all support Exchange out of the box, though some enterprises have reported odd compatibility issues with Exchange calendars.

The Safari browser is also much more compatible with the current and emerging HTML standards than Microsoft's Internet Explorer. For example, IE11 scores 376 out of 555 points in the HTML5Test.com tests, up from IE10's 335, but well short of 427 in OS X Yosemite's Safari 8, 475 in Mozilla's Firefox 32, and 512 in Google's Chrome 37. Still, if you want maximum modern Web compatibility, on either platform Chrome is the clear leader.

The sad truth is that IE is a woefully outdated browser that's not compatible with many websites. Enterprises often stick with it due to the use of ActiveX-based apps, but that forces organizations to support both IE for legacy apps and Chrome for modern websites.
It's best to cut the IE cord and standardize on a single browser that works on almost everything and leave the ActiveX world behind. Microsoft has been urging businesses to drop ActiveX for years, to little effect. But IE11's horrible compatibility with the modern Web might finally force the issue, though by moving companies to a competing browser.

Value: Windows 8.1 vs. OS X Yosemite

Scores
Windows 8.1: 7
OS X Yosemite: 10

 
OS X Yosemite is clearly the better value, offering more capability and ease of use -- the two factors that matter most to the public -- then Windows 8. In addition, the psychic price of Windows 8's split personality is quite high, even with Windows 8.1's ability to better hide the Metro side.

Apple's free upgrade price for Yosemite is hard to beat. But Microsoft has sort of matched it with Windows 8.1, which is free to Windows 8 users. If you're running a prior version of Windows, Windows 8.1 Pro costs $200. If you're running OS X Snow Leopard or later, you can upgrade to Yosemite at no charge. Also, you don't need to do an intermediate upgrade first, as Window 8.1 requires if you have Windows XP or Vista.
For enterprises, OS X may have a higher cost for IT, at least initially, as staff must learn to manage and support the OS and the company must invest in tools to achieve the same level of management as the tools already purchased for Windows allow. Mac users tend to require less support than PC users, perhaps because most Mac users choose the platform and are thus more likely to be self-supporting in the first place.

How it all adds up: Windows 8.1 vs. OS X Yosemite

Scores
Windows 8.1: 7.8
OS X Yosemite: 8.7




Clearly, OS X Yosemite is a better operating system than Windows 8.1. It's better designed, more capable, and -- contrary to many people's beliefs -- supportive of mainstream business security and management needs. But Windows supports a much wider universe of apps, so many people legitimately can use only a PC.

The misguided UI mismatch in Windows 8 caused many users to look for alternatives -- most simply stuck with Windows 7. If you're in the market for a new PC, you should get one running Windows 7 while you still can (a few are still available online).

If you must get a PC with Windows 8.1, the good news is that it is more tolerable than Windows 8. The bad news is that it's still basically Windows 8, so if you want a new computer, move to a Mac, using a Windows virtual machine as a transition aid.

InfoWorld Scorecard
Ease of use (25%)
Features (25%)
Manageability (15%)
Security (15%)
Compatibility (10%)
Value (10%)
Overall Score
Apple OS X Yosemite 9 9 7 9 8 10 8.7
Microsoft Windows 8.1 7 7 9 8 10 7 7.8

 

11/28/2014 10:23:00 AM

iPhone 6 review: The little things make it a real star


The larger design is very welcome, but there's much more to the iPhone 6 than a bigger screen


Apple iPhone 6 / iOS 8

Security for work and home

The iPhone 6 and iOS 8 together are a powerhouse when it comes to security if tied to a mobile management server such as those from Citrix Systems, Good Technology, MobileIron, or any of several other vendors. In addition to supporting Microsoft's Exchange ActiveSync (EAS) policies:
  • iOS 8 has more APIs for security and management than any platform, BlackBerry excluded (when using its BES server).
  • iOS 8 provides a broader set of management capabilities, such as for e-books, than just security management.
  • It has vastly more user privacy controls than any other platform — personal security is anathema to Google's business model and not a concern in other mobile OSes, but should be.
  • It has hardware-protected biometric security and now credit card security no one else provides.
iPhone privacy settings
Nothing comes close to iOS 8's privacy controls over the data gathered by the iPhone's hardware and accessed by apps.
For corporate security, iOS 8 and BlackBerry 10 are essentially tied when used with a management server. Nothing matches BlackBerry's backbone network security, but even those backbones are open to national governments' spy agencies. Most businesses long ago decided they weren't so worried about the backbone anyhow
What iOS ostensibly lacks is support for the notion of separate device personas, but that's more style than substance given the internal separation possible in iOS between personal and corporate assets. It's telling that persona-separation technologies such as BlackBerry Balance, Divide for Android, and Samsung Knox for some Android devices have gained little uptake despite massive attention.

About the supersized iPhone 6 Plus ...

I was unable to buy an iPhone 6 Plus to test, and Apple declined to loan InfoWorld one for review. But I spent a few minutes with one at Apple's Sept. 9 launch event and a few minutes more with units at several
What's different about the iPhone 6 Plus is the size and rear camera. In every other respect, it has all the positives and minuses of an iPhone 6.

The screen measures 5.5 inches diagonally, and the device weighs 6.07 ounces — that's 1.52 ounces, or 33.4 percent, more than the iPhone 6's 4.55 ounces. The rear camera's lens has an optical stabilization feature meant to help overcome the inevitable jitters from trying to hold such a monster device steadily in motion photography. (I could not test that.)

That extra time with the devices didn't change my opinion that the iPhone 6 Plus is too big. It's too much of a handful even with Apple's one-handed display trick (which also works on the iPhone 6): Double-tap the Home button to bring down the screen, so you can reach the top of the screen with your thumb. In most apps, you can scroll down in that diminished screen — but not in all.

The iPhone 6 Plus and iPhone 6 (shown here) let you double-tap the Home button to pull down the app so the top of its screen is more easily accessed by your thumb when controlling the iPhone with one hand.
The iPhone 6 Plus sticks too far out of a men's shirt pocket. That's great for surreptitious video recording, but I'd be constantly worried about it sliding out and falling to the floor any time I bent forward.

However, it's cool that apps can be designed to use all the extra screen real estate in landscape mode on an iPhone 6 Plus, switching to double-column view on Mail, for example, as if they were iPad apps. That's a smart accommodation of the "ablet" part of "phablet," and I wish Android phablets did the same.

I know there are people who love phablets, and who are comfortable using it with two hands all the time. And I know many of the Android makers are falling all over themselves to make each new model even bigger than the last, leading to really grotesque phone sizes. Seriously, people: A 4.7-inch screen is the optimal size for viewing, carrying, holding, and manipulating.

If you really want a micro tablet more than a smartphone, rather than use both an iPhone and an iPad, then I get the appeal of the iPhone 6 Plus. But try out an iPhone 6 Plus in person to see if it's right for you.

The iPhone 6: This is the iPhone you've been waiting for

The iPhone 6 and iPhone 6 Plus are available from the major U.S. carriers — AT&T, Sprint, T-Mobile, and Verizon — as well as from major carriers in Japan, Australia, and much of Europe. (Apple's still waiting for regulatory approval in China.)

The iPhone 6 costs $649 for the 16GB model, $749 for 64GB, and $849 for 128GB — the pricier models offer more capacity than the predecessor iPhone 5s did. Some carriers will subsidize those prices with a $450 discount if you agree to a two-year contract. The iPhone 6 Plus has the same capacities but costs $100 more for each model. The casing colors are the same as for the iPhone 5s: silver, gold, and dark gray. Gone is the M&Ms color scheme of last year's iPhone 5c.

Samsung has derisively congratulated Apple for the new iPhone models, saying "Welcome to 2012." It's true that the iPhone 5 series was too small at 4 inches, and most iPhone users have jealously regarded those bigger competitors. But the iPhone 6 is a much better smartphone than the competitors' offerings. Much of that is because iOS 8 is a vastly superior operating system to Android 4.4 KitKat, and Apple's customizations of iOS 8 for the new phones is smarter and more sophisticated in most cases than what Android smartphone makers have done.

No one can match Apple when it comes to the total package — once Apple commits to that total package. Although a good smartphone, the iPhone 5s was clearly an interim product. The iPhone 6 is the total package — and a great smartphone.
11/28/2014 10:18:00 AM

iPhone 6 review: The little things make it a real star -- Page-1

The larger design is very welcome, but there's much more to the iPhone 6 than a bigger screen.

Apple iPhone 6 / iOS 8

The iPhone 6 is the first major redesign of the Apple iPhone since 2010's iPhone 4. The design is new, with the aluminum side band gone and the glass and aluminum halves directly welded for a sleeker, less-industrial look. The iPhone 6 is also bigger, a long-desired improvement in screen real estate. That's normal change in the smartphone world.

The iPhone 6's hardware is (mostly) excellent

I really like the iPhone 6 as a device.

First, the iPhone 6 is simply a pleasure to hold. The wraparound aluminum is almost velvety, and the glass front melds seamlessly into it. The screen is bright and colorful, without crossing the line into garish as some Android phones do (Galaxy S5, I'm talking to you). There are a few other nice-feeling smartphones, like the HTC One M8, but the iPhone 6 is a cut above.

Under the hood are Apple's new chips: the A8 processor and M8 motion coprocessor, as well as a souped-up graphics subsystem. The iPhone 6 has as much power as some PCs, and you can feel the better performance.

The screen is brilliant and bright, moreso than Apple's previous iPhones, whose images were crisp and true but a bit subdued. In the iPhone 6, Apple has increased brightness without making the colors artificially garish, in that unnatural, pumped-up "Miami Vice" style that Samsung favors. It works great for navigation while driving with the new Siri hands-free mode (yes, Apple Maps is a lot better now).
Apple says the iPhone 6's viewing angle is wider -- well, yes and no. It's a tad wider than my iPhone 4's viewing angle, but not meaningfully more. What's different: At an extreme viewing angle, the iPhone 6 retains most of its brightness and color accuracy, whereas older iPhones dimmed and the colors shifted darker at wide viewing angles.

The iPhone 6's cameras have been upgraded. They're basically as good as SLRs and camcorders, but that's par for the course in high-end smartphones. One interesting change Apple made is adding support for high-FPS, slo-mo video capture, a trick sure to be popular. In my tests, it worked great in natural light but not in artificial lighting, such as a room illuminated by halogen or LEDs. (I don't have standard incandescent or fluorescent lighting to test under.) At least in LED- and halogen-lit spaces, I got a very unpleasant strobe effect when shooting in slo-mo.

The other big internal change is support for NFC (near-field communications) that will enable contactless mobile payments in the forthcoming Apple Pay service. Apple Pay doesn't work yet — an iOS 8 update planned for October is required, as are Apple Pay-compatible sales terminals in stores — so I could not test it. NFC may have other uses in the future, but for now Apple is tying it to Apple Pay to ensure security.

The iPhone 6 is not perfect, of course. There's one hardware change I'm not a huge fan of, and one change I wish Apple had made:
  • Apple moved the Sleep/Wake switch from the top of the iPhone to the right side, so you can reach it with your thumb when holding the device. But it means you can't quickly dismiss an incoming call during a meeting by double-pressing the button in your shirt pocket — you have to pull the phone out of your pocket to dismiss the call. I've found no alternative quick-dismiss method on the iPhone 6 for those of us who carry our phones in our shirt pockets. Apple should add a timed option for Do No Disturb so that we can silence the phone in a meeting but not leave it silenced through forgetting to turn it back on, as is now required.
  • Apple did not move the audio jack to the top of the phone, where it's more convenient when carrying your iPhone in your shirt pocket (and where the iPhone 4 series had it, though not the iPhone 5 series). To listen to music while on the train or walking down the street, you have to put the iPhone in your pocket upside down to connect your earbuds — which exposes the speaker and Lightning openings to the outside elements. OK, the goal is to avoid the lint in the bottom of our pockets -- still.
Also, the sleeker new case is, well, slicker -- making the iPhone 6 more likely to slip out of your grip than it should be, a little like last year's Moto X was. I had my iPhone 4 for nearly four years without needing a case or bumper to keep it secure in my hand, but I won't take that risk with the iPhone 6. I just need to find a bumper or case that doesn't hide or sully its beautiful design.

The software is what makes the iPhone 6 so compelling

But where the iPhone 6 really shines is in its iOS 8 software. The new OS is full of small but useful improvements, especially for business users, as I've described in my survey of its enhancements to email, contacts, calendars, and texting. But it also includes general improvements that make the iPhone 6 experience much more compelling.

Thank you for the new Middle-Aged view mode. A bigger screen still leaves text hard to read for many middle-aged folks like me. We want bigger pixels as much as we want more of them, so the iPhone 6 offers what I call Middle-Aged view mode (the real name is Zoomed view, available in the Display & Brightness pane in the Settings app), which makes everything bigger, essentially blowing up the iPhone 5s's screen into the larger physical size of the iPhone 6's screen. The graphics subsystem does the scaling, so there's no display lag as I found when Samsung tried a similar capability via software in its unwieldy Galaxy Note Pro 12 tablet earlier this year.

The image below compares the screen sizes; click it to get a full-size version in a new window.
the iPhone's parade of sizes
The progression of iPhone screen sizes, from left to right: iPhone 4s, iPhone 5s, iPhone 6 in Zoomed view, and iPhone 6 in Standard view.
Widgets now can live in the Notification Center. The revamped Notification Center has a separate pane, called Today, for widgets. It shows a summary of the current weather and your day's calendar. To that you can add more widgets; scroll to the bottom of the screen and tap Edit to add or remove them. All apps that have widgets — dozens already do, from Evernote to Dropbox — automatically add those widgets to this screen. A lot of widgets are just quick launchers for their apps, but a few are actually useful, such as those for Yahoo Weather and iTranslate.
iPhone widgets
The Notification Center's Today screen is where widgets can be added to or removed from.
Keyboards go crazy. Speaking of widgets, iOS 8 also supports extensions, which lets apps interact directly under iOS's supervision. The Box and Dropbox cloud services now have extensions, so app developers can more easily enable direct file access to their services, for example. But the early extensions are mainly alternative keyboards. I don't get the obsession some folks have over custom keyboards, but — what the hey — now you can get them.

Speaking of keyboards, a change I really dislike in iOS 8 is the new emoji keyboard that's enabled by default. The key appears near the spacebar, where it's easy to tap by accident. Unless you live in social media, it's more junk to wade through. You can remove it in the Settings app's General pane's Keyboard section. (I did.)

iOS 8 also offers the QuickType feature that suggests words above the keyboard as you type, so you can select the one you mean before typing it out. It's a feature you'll love or hate, because it can be as distracting as it is helpful. (To disable it, set the Predictive switch to Off in the Keyboards section of the Settings app's General pane.) Here's a tip: You can temporarily hide the QuickType bar by dragging it down, then drag it back up when you want it again — rather than disabling it.

The Handoff feature is subtler than you might think. The big foundational new capability is iOS 8's Handoff, enabled by default in the Settings app's General pane. I love the idea of Handoff, which lets you start an activity on one device and pick up where you left off on another — a key enabler of the emerging trend I call liquid computing.

But Handoff works subtly, and it's easy to overlook. First, Bluetooth and Wi-Fi have to be turned on, and any devices you want to use it with need to be signed into the same iCloud account. The devices must also be in Bluetooth range of each other. When you start an activity in a compatible app on one device, the other devices "know" that and offer to take over that activity.

That's where it gets subtle. On a Mac, the icon for those apps appears on the left side of the Dock (or will, once OS X Yosemite ships next month). But on an iPhone or iPad, there's no such obvious if unobtrusive notification while you're working. As the figure below shows, Handoff announces apps you can take a handoff from in two places:
  • Through a tiny, easily overlooked icon at the bottom of the lock screen. Swipe up to open it.
  • In the App Switcher, if you swipe to the left. (Double-press the Home button to open the App Switcher.) Tap the app to open it.
iPhone Handoff
iOS 8's Handoff feature shows apps available for handing off their activity in the left side of the App Switcher (left) and the bottom left of the lock screen (right).
When you open that app via Handoff, any data you're working on is carried over from the other device, such as an event you're adding in Calendar or a message you're composing in Mail. The feature works, if you know to look for it. I think Apple should provide the option for Handoff alerts in the Notification Center to give people more awareness when an app handoff is available.

The extras Apple has for only the iPhone. iOS 8 brings to the iPhone 4s and later several extras beyond core iOS 8 that I really appreciate.

One is the new Health app, which collects health data from apps and devices that you connect to your iPhone via Bluetooth, such as fitness monitors. But like the iPhone 5s, the iPhone 6 itself is a fitness sensor, so you can immediately capture information like how many steps you've taken and how far you've walked. Most fitness monitoring gear sits unused after a few months, but your iPhone is almost always with you. For those of us who should be more active, the iPhone could be a more realistic way to do so.
iPhone Health app
The iPhone's new Health app can track your activity from the phone itself.
I also love that the Health app stores your critical medical info and can make it available to anyone via the lock screen's Emergency button. For example, if you're incapacitated, a caregiver can get vital information immediately. What a great idea!

Another cool feature is the new iPhone Cellular Calls feature (enabled in the Settings app's FaceTime panel). If your phone rings, any iOS 8 or OS X Yosemite device you have within Bluetooth range will also ring, allowing you to take the call from it. On an iPad, iPod Touch, or Mac, the phone call is sent via FaceTime over Wi-Fi. There's a lag of a second or so when using this feature, as the voice traffic gets sent between the iPhone and your other device, but it's a great way to pick up a call when your phone is not at hand.

The iPhone Cellular Calls feature is not part of Apple's new Handoff technology, so it works with more old Macs (as long as they run OS X Yosemite) and old iPads and iPod Touches (as long as they run iOS 8) than Handoff does. (Handoff is restricted to Lightning-equipped iOS 8 devices and 2012-and-later Mac models running OS X Yosemite.)

The iPhone 6 also supports automatic sending of phone calls over Wi-Fi rather than the cellular networks. This saves bandwidth for the carriers and provides phone access for you when a cellular signal is not available but a Wi-Fi network connected to the Internet is. However, only T-Mobile in the United States and EE in the United Kingdom have turned on that capability in their networks, so I could not test it. Both AT&T and Verizon say they'll have it in the United States next year. Sprint's network supports the technology, but the company has been silent about enabling it for the iPhone 6, and the store staff I asked had no clue.




InfoWorld Scorecard
Apps and Web (20%)
Hardware (20%)
Platform services (20%)
Security and Management (20%)
Usability (20%)
Overall Score
iPhone 6 8 9 8 9 9 8.6