Polyprax - Officer of Technology
Plans & designs to make tech better
Product Strategist • Planner • Developer
Device Architect • Designer • Brander

Thoughts On Making Swift Open Source

You've likely heard that Apple has made the Swift programming language open source. Of course, this means that developers could potentially be able to use Swift to make software on other platforms. That could eventually include Linux, Android, Windows, and web applications. I'm not completely sure of all the reasons why Apple has made this move. But here are a few ideas and thoughts.

Popularity Means More OS X And iOS Developers

Likely, Apple would simply like Swift to become more popular. If Swift becomes so popular that it is used for other platforms, then developers who have learned Swift might be more likely to build native apps for OS X and iOS at some point.

I believe Swift's first and foremost role at Apple will continue to be building native OS X and iOS apps, likely using Apple's XCode development environment. And Apple's main goal is still likely to get developers making native apps for their devices and computers. But anyone who learns Swift will likely think of building an app for OS X or iOS at some point, even if they first used Swift to build an app on Android or another platform.

Free Means Anyone Can Learn It, Including Students

Students are basically the developers of the future. By making Swift open source, it gives Swift a chance to be used as the basis for University or College classes. And if schools are teaching Swift, then businesses might want to make software using Swift because they have a bunch of young developers who already know the language.

At the same time, it makes it so that anyone, young or old, can use and learn Swift for free. While open source and free aren't the same things, it does essentially mean that anyone can learn Swift pretty easily now. They won't even need to get a Mac to learn Swift. But I think Apple still hopes that eventually they will get or use a Mac, whether it's at home or at work. That's because Swift will still be best used to build native apps on Mac and iOS.

Enterprise Is Where The Big Money Is

Apple at one point was largely targeting creative professionals with their Mac computers. But it seems they are trying to work their way into the enterprise more and more these days. They worked a deal with IBM to create iOS apps. And I wonder if open sourcing Swift could lead to many more enterprise customers for Apple as well.

While a large amount of enterprise software is shifting to the cloud, it doesn't mean that businesses don't still use or build software that isn't only web-based. Client-server applications are still used by most big businesses. It also doesn't mean that businesses won't ever find reasons in the future to make some software for a specific platform.

If Apple can figure out a way to get more enterprises to build custom software for Macs, they have a whole whack of money to gain. We're talking about huge businesses deciding to make custom client-server software on Macs, and outfitting their whole company with iMacs. Companies like Oracle, Microsoft, IBM, and HP are making all this money now. I don't think Apple is a big player in the enterprise space, but it doesn't mean they never will be. Maybe the announcement of Swift being open source could help Apple work their way into the enterprise.

Getting Help And Building A Community

Making a programming language and framework to build applications is not easy. When you make something open source, you basically gain a whole bunch of people who will help you build something without having to pay them. You also gain a community, hopefully making people feel like they are helping to build something together.

I think it's worth noting that making something open source and building a community around it hasn't been something Apple has done a lot of in the past. It will be interesting to see if they can do a good job with open sourcing Swift. I think Google and Microsoft have so much more experience in this area, and kind of make it look easy. Apple could go through a big learning curve with this approach, similar to their troubles with making cloud software. You know, things like MobileMe, iCloud, and Apple Maps. Being open like this certainly hasn't been Apple's strong point either. So we'll see how well they are able to pull this idea off.

It Worked For Android And WordPress

Google chose to use Java for Android, likely for many of the reasons above. Java was extremely popular both at schools and at enterprises. It was being used by students to learn programming, and enterprise developers were using it to build huge client-server applications, and also large business web applications and websites. Because so many developers already knew Java, it was easier for them to try making an Android app.

Similarly, PHP is being used for creating a large amount of the smaller websites and blogs on the internet. WordPress became extremely popular, largely because it is built using PHP, an open source programming language. And because WordPress itself is open source. Microsoft and Oracle could get big enterprises to use their programming tools and languages, but ended up losing a lot of customers because hosting a WordPress website is so much cheaper.

Apple is kind of following in Android's and WordPress' footsteps with this move. They want Swift to get more popular. And to do that, it needs to be free to use, and available to learn on platforms other than Macs.

Firefox For iOS Released To App Store

I guess Mozilla just couldn't wait until iOS was 10 years old. The Firefox web browser has finally been officially released for iOS, eight and a half years after iOS was first introduced with the first iPhone.

Syncing Bookmarks To Mobile Is (And Was) Important

In my mind, the release of Firefox for iOS is important for one main reason. We now have the ability to sync bookmarks to Firefox on iOS. For the majority of people out there, that is all that really matters.

You can count me as one of those people. Like many other people I'm sure, I used Firefox as my main browser for quite a number of years. When I bought my first iOS device, a 2G iPod Touch, I had to figure out which browser to use. For quite a while I still used Firefox on the desktop. My journey took me to drop Firefox on my desktop for Safari, then to Mercury which used Firefox Sync, then back to Safari, and finally to Chrome.

The only real reason I switched was because I couldn't easily sync my bookmarks in a fully supported way with an iOS Firefox app. I really think that Mozilla unfortunately underestimated this impact and  lost a boatload of dedicated users simply by not having an iOS app that synced bookmarks. While it might have mattered to Mozilla, it wouldn't have mattered much to users if it was a little slow or didn't use its own rendering engine. And a large majority of those people who switched to sync their bookmarks to their desktop aren't going to go back to Firefox now because they already switched.

The Competition Is Tougher Than It Was In 2005

You think that in, say 2005, that it was tough for Mozilla to compete with Microsoft's built-in IE browser? Yes, it was extremely difficult since IE was installed by default and Microsoft was a behemoth of a software company. Firefox slowly gained more and more users as more and more people became more knowledgable about computers. Some of those people looked into using a different browser.

But how about the competition now. Google has a crazy amount of money and the most dominant mobile platform with Android. Apple has a ridiculous amount of money too, and anyone with a Mac will simply use Safari. Not to mention Microsoft has recently released Windows 10, which has a built-in browser that is much improved, with Edge. If you follow my logic though, Mozilla actually has a leg up on Microsoft now, since Edge isn't yet available on Android and iOS mobile platforms yet. So you can't sync your bookmarks, er I mean favorites.

But however you look at it, it's only going to be tougher for Mozilla to gain back users that it lost by not having Firefox and bookmarks syncing available on iOS. Google and Apple are both as big as Microsoft now, and all three of those companies put a large amount of effort and resources into building their web browser. But at least going forward Mozilla can now promote Firefox being available on iOS, which will interest some people into giving it a shot on their laptop or desktop again too.

Firefox Web Browser For iOS Features

Here are some of the features highlighted by Mozilla on the Firefox for iOS App Store page.

Experience a fast, smart and personal Web. Firefox is the independent, people-first browser made by Mozilla, voted one of the Most Trusted Internet Companies for Privacy. Upgrade today and join hundreds of millions who depend on Firefox for a more personal browsing experience.

FAST. SMART. YOURS. Firefox is made with you in mind and gives you the power to take back control of your Web experience. That’s why we design the product with smart features that take the guesswork out of browsing.

SEARCH INTELLIGENTLY & GET THERE FASTER
- Firefox anticipates your needs and intuitively provides multiple suggested and previously searched results across your favorite search engines - every time.
- Easily access shortcuts to search providers

BROWSE PRIVATELY
- Your personal information belongs to you. In Private Browsing mode, Firefox won’t remember any of your history or cookies, but new bookmarks will be saved.
- Delete your browsing history, passwords and more in a single tap.
- Choose the private data you want to remove.
- **iOS 9 required for Private Browsing mode**

SYNC FIREFOX ACROSS YOUR DEVICES
- With a Firefox Account, access your history, bookmarks and open tabs from your desktop on your smartphone and tablet.
- Firefox can also remember your passwords across devices so you don’t have to.

INTUITIVE VISUAL TABS
- Intuitive visual and numbered tabs easily let you find content for future reference.
- Open as many tabs as you like without losing track of your open Web pages.

EASY ACCESS TO YOUR TOP SITES
- Spend your time reading your favorites sites instead of looking for them.

Thoughts On Merging Android And Chrome OS

We may have Android PCs and laptops by 2017, which could compete more directly with Windows and Mac computers. This has been rumored before, but this time it comes from the Wall Street Journal, a pretty reliable source.

Android PCs Make Sense

It makes complete sense to me that Google will eventually make "Android for PC". Android is an extremely popular mobile OS, so a lot of those apps could also run on a desktop OS. Google has been making an Android OS for pretty much every other platform over the last couple of years, except for the desktop. This includes their decision to make Android Auto, Android Wear, and Android TV. And thirdly, even though Google has focused on the cloud for desktop, there are still limitations to a desktop operating system like Chrome OS which doesn't support native applications.

Native Apps And Games Have Advantages

It's great to run software in the cloud so it is cross-platform. But there are still cases where native apps work better, and we can have the best of both worlds. Games is one of those categories. Google could make a large amount of money just from Android for PC games. Also any applications which could benefit from locally saved data will also work better with a native desktop OS. This includes productivity apps and even apps for photos and music.

I know browsers continue to get better with saving data locally, but just being able to have your own files on your computer is still better in many cases. Or to be able to install Dropbox for your Android PC if you use Dropbox instead of Google Drive. While most software is also moving online as well, there are still many people who will buy a Windows 10 computer instead of one with Chrome OS, just because they like having their files offline on their computer as well.

It's All About The Taskbar

I'm completely oversimplifying here, but as a very simple implementation, Google could almost just add a taskbar at the bottom for Android for PCs. I'm not saying that is all they will do or should do. They want to do something similar to Microsoft where an app can be created for all platforms, but the UI looks different on the desktop than it does on mobile. But I'm just saying that to me the biggest difference is just that taskbar at the bottom. That is why I thought Windows 8 didn't work without a taskbar, and why I believe Microsoft made the correct decision with Windows 10 to bring Windows Store apps into windows on the desktop.

Google's Single Android OS Advantage

One advantage that I believe Google has over Microsoft and Apple, is that they don't have to support legacy applications. While mobile Android apps are not designed for a large screen, at least they would run on a version of Android for PCs. It's not like the difference Microsoft has between the Windows 8 and later Store apps, and original Windows desktop "programs". Google does need to support Chrome OS apps, but that is kind of given. They are supporting them on every desktop OS, through Chrome. It's not like trying to merge iOS and Mac OS X for instance.