Domain: apple.com
Stories and comments across the archive that link to apple.com.
Stories · 1,700
-
iOS 10 Quietly Deprecated A Crucial API For VoIP and Communication Apps (apple.com)
neutrino38 warns that iOS 10 includes a significant change "overlooked by the general public": It deprecates an API that is crucial for VoIP and other instant messaging applications that enable keeping one socket active despite the fact that the application would run in the background. As a replacement, developers need to use PushKit: when an incoming call is to be forwarded to an iOS VoIP client, the VoIP infrastructure needs to:
- withold the call
- contact Apple push infrastructure using a proprietary protocol to wake up the client app remotely
- wait for the application to reconnect to the infrastructure and release the call when it is ready
This "I know better than you" approach is meant to further optimize battery life on iOS devices by avoiding the use of resources by apps running in background. It has also the positive effect of forcing developers to switch to a push model and remove all periodic pollings that ultimately use mobile data and clog the Internet. However, the decision to use an Apple infrastructure has many consequences for VoIP providers:
- the reliability of serving incoming calls is directly bound to Apple service
- Apple may revoke the PushKit certificate. It thus has life and death decision power over third-party communication infrastructures
- organizations wanting to setup IPBX and use iOS client have no option but to open access for the push services of Apple in their firewall
- It is not possible to have iOS VoIP or communication clients in network disconnected from the Internet - Pure standard SIP clients are now broken on iOS
The original submission argues that Apple is creating "the perfect walled garden," adding that "Ironically, the only VoIP 'app' that is not affected is the (future?) VoLTE client that will be added to iOS one day." -
Are App Sizes Out of Control?
In a blog post, Trevor Elkins points out the large sizes of common apps like LinkedIn and Facebook. "I went to update all my apps the other day when something caught my eye... since when does LinkedIn take up 275MB of space?!" Elkins wrote. "In fact, the six apps in this picture average roughly 230MB in size, 1387MB in total. That would take an 8Mbit internet connection 24 minutes to download, and I'd still be left with 27 additional apps to update! More and more companies are adopting shorter release cycles (two weeks or so) and it's becoming unsustainable as a consumer to update frequently."
Should Apple do something to solve this "systematic" problem? Elkins writes, "how does an app that occasionally sends me a connection request and recruiter spam take up 275MB?"
Further discussion via Hacker News. -
Apple Releases First Public Beta Of iOS 11 for iPhone and iPad
Zac Hall, writing for 9to5Mac: Apple has released the first macOS High Sierra public beta for Mac. This allows users who are not registered developers to test pre-release versions of macOS with new features for free. Prior to the public beta availability, macOS High Sierra has only been available to test with a $99/year developer account. You can register for the free public beta program here. [Note: some outlets report that the update is still "coming soon." [...] Apple has released the first iOS 11 public beta for iPhone and iPad. This allows users who are not registered developers to test pre-release versions of iOS with new features for free. You can register for the free public beta program here.. -
Apple Releases First Public Beta Of iOS 11 for iPhone and iPad
Zac Hall, writing for 9to5Mac: Apple has released the first macOS High Sierra public beta for Mac. This allows users who are not registered developers to test pre-release versions of macOS with new features for free. Prior to the public beta availability, macOS High Sierra has only been available to test with a $99/year developer account. You can register for the free public beta program here. [Note: some outlets report that the update is still "coming soon." [...] Apple has released the first iOS 11 public beta for iPhone and iPad. This allows users who are not registered developers to test pre-release versions of iOS with new features for free. You can register for the free public beta program here.. -
App Store Now Requires Developers To Use Official API To Request App Ratings, Disallows Custom Prompts (9to5mac.com)
One of the new App Store policy changes made this week is the addition of section 1.1.7, which requires developers to use the official in-app rating UI added in iOS 10.3 and states that they "will disallow custom review prompts" going forward. 9to5Mac reports: When the new App Store rating API was introduced in the iOS 10.3 beta period at the start of the year, adoption was optional but Apple warned that it would eventually become mandatory. It seems that time has come. Here's the relevant addition to the App Store Review guidelines: "Use the provided API to prompt users to review your app; this functionality allows customers to provide an App Store rating and review without the inconvenience of leaving your app, and we will disallow custom review prompts." The language is pretty clear-cut, use the Apple API and stop using custom implementations. The change to the Apple API has some advantages and drawbacks for developers and users. -
Teardown of New iMac Reveals Upgradable Processors, RAM (macrumors.com)
According to an iFixit teardown, Apple's new 4K 21.5-inch iMac has both removable RAM and a Kaby Lake processor that's not soldered onto the logic board. Whereas the previous models had soldered memory modules, the new iMac's memory sit in two removable SO-DIMM slots. MacRumors reports: iFixit made the discovery by disassembling Apple's $1,299 mid-range 3.0GHz stock option, which includes 8GB of 2400MHz DDR4 memory, a Radeon Pro 555 graphics card with 2GB of VRAM, and a 1TB 5400-RPM hard drive. After slicing through the adhesive that secures the 4K display to the iMac's housing and removing the power supply, hard drive, and fan, iFixit discovered that the memory modules aren't soldered onto the logic board like previous models, but instead sit in two removable SO-DIMM slots. Similarly, after detaching the heatsink and removing the warranty voiding stickers on the backside of the logic board, iFixit found that the Intel SR32W Core i5-7400 Kaby Lake processor sits in a standard LGA 1151 CPU socket, making it possible to replace or upgrade the CPU without a reflow station. -
Apple To Phase Out 32-Bit Mac Apps Starting In January 2018 (macrumors.com)
Apple will be phasing out 32-bit apps with iOS 11, and soon the company will make the same changes on its macOS operating system. During its Platform State of the Union keynote at the Worldwide Developers Conference, Apple told developers that macOS High Sierra will be the "last macOS release to support 32-bit apps without compromises." MacRumors reports: Starting in January of 2018, all new apps submitted to the Mac App Store must be 64-bit, and all apps and app updates submitted must be 64-bit by June 2018. With the next version of macOS after High Sierra, Apple will begin "aggressively" warning users about 32-bit apps before eventually phasing them out all together. In iOS 11, 32-bit apps cannot be installed or launched. Attempting to open a non-supported 32-bit app gives a message notifying users that the app needs to be updated before it can run on iOS 11. Prior to phasing out 32-bit apps on iOS 11, Apple gave both end users and developers several warnings, and the company says it will follow the same path for the macOS operating system. -
Apple Announces New 10.5-Inch iPad Pro With Narrower Side Bezels, 120Hz Refresh Rate Display (9to5mac.com)
At WWDC 2017 today, Apple unveiled a brand new iPad Pro with a 10.5-inch display and 40% narrower bezels. The new iPad features a 50% brighter True Tone display and "ProMotion" technology which increase refresh rates up to 120hz. 9to5Mac reports: The new iPad Pro includes dynamic refresh rate adjustments, screens move from 24hz to 48hz to 120hz. This maximizes battery life and performance, when you need it. The A10x Fusion chip improves CPU and GPU by at least 40%. Cameras have also been upgraded with the same sensor as the iPhone 7 on the back and the front. Apple demoed a photo app called "Affinity Photo," to demonstrate the 120hz refresh rates. Apple says new iPad Pro performance compares favorably with a desktop computer. This includes incredibly fast selections and fluid Apple Pencil interactions. Both iPad models start with 64GB of memory and maxes out to 500GB at the high-end. There are also several new software features for iPad, coming this fall with iOS 11: A new customizable Dock that provides quick access to frequently used apps and documents from any screen; Improved multitasking, including a redesigned app switcher that brings Spaces to iOS, making it easier to move between apps or pairs of active apps, used in Split View and now Slide Over; Multi-Touch Drag and Drop, which is available across the system to move text, photos and files from one app to another, anywhere on the screen; A new document scanner in Notes, which lets users easily scan single or multi-page documents, removes shadows and uses powerful image filters to enhance readability; and Deeper integration with Apple Pencil, with support for inline drawing to write along text in Notes and Mail, Instant Markup to easily sign documents, annotate PDFs or draw on screenshots, and a new Instant Notes feature, which opens Notes from the Lock Screen by simply tapping Apple Pencil on the display. New searchable handwriting makes it easy to search for handwritten text or characters. -
Facebook's Instant Articles Platform To Support Google AMP, Apple News (techcrunch.com)
An anonymous reader quotes a report from TechCrunch: One of the problems publishers face today in making their content more readable on mobile devices is that there are multiple, competing formats available for this purpose. Facebook has Instant Articles, Google is spearheading the AMP (Accelerated Mobile Pages) project, and the Apple News Format optimizes content for iOS devices. Facebook is today taking a crack at a solution to this problem by rolling out support for both AMP and soon Apple News as a part of its open source Instant Articles software development kit. The updated SDK will now include an extension that lets publishers build content that's publishable in all three formats, beginning with support for Google's AMP in addition to Facebook's own Instant Articles. In the weeks ahead it will also include support for publishing to Apple News, though the company didn't provide an exact launch date for when that feature would be added. -
Google Launches Google Assistant On the iPhone (venturebeat.com)
At its I/O 2017 developer conference, Google announced the Google Assistant is coming to iOS as a standalone app. Previously, the only way for iOS users to get access to the Assistant was through Allo, the Google messaging app nobody uses. For those interested, you can download the Google Assistant on your iOS device here, but keep in mind that your device needs to be running iOS 9.1 or higher. VentureBeat reports: Google Assistant for iPhone won't ship on Apple's mobile devices by default, and naturally won't be as tightly integrated into the OS. But it is addressable by voice and does work with other Google apps on Apple's platform. Apple has API restrictions on iOS, so Google Assistant can't set alarms like Siri can. It can, however, send iMessages for you or start playing music in third-party apps like Spotify. You also won't be able to use the Home button to trigger Google Assistant, so you'll need to use the app icon or a widget. -
Google Maps Now Uses Street View To Show You Exactly Where To Make Turns (theverge.com)
Google Maps has received a small design update that will show Street View images of every road you're supposed to turn onto. "If you tap the image, Street View will open up to that location, showing an arrow in the direction you're meant to turn," reports The Verge. From the report: It's a small change, but it could make a difference at confusing intersections or for people (like me) who are very bad with street names. The change was spotted by Android Police. Unfortunately, the images display as tiny thumbnails until you tap to open them up, so while the addition is definitely helpful, it's not quite glanceable information -- you'll definitely have to tap to open every turn that you want to see in detail. The feature only appears to be on Android for now. But Google's iOS app usually has the same look and features, so it may just be a matter of time before it gets updated. Android Police also points out that Google changed the bottom navigation bar when getting directions. It takes up a bit more of the screen now, but it's also a bit more explicit about what tapping certain things will do. Altogether, seems like a smart change. -
Apple Forces Recyclers To Shred All iPhones and MacBooks (vice.com)
An anonymous reader quotes a report from Motherboard: Apple released its Environmental Responsibility Report Wednesday, an annual grandstanding effort that the company uses to position itself as a progressive, environmentally friendly company. Behind the scenes, though, the company undermines attempts to prolong the lifespan of its products. Apple's new moonshot plan is to make iPhones and computers entirely out of recycled materials by putting pressure on the recycling industry to innovate. But documents obtained by Motherboard using Freedom of Information requests show that Apple's current practices prevent recyclers from doing the most environmentally friendly thing they could do: Salvage phones and computers from the scrap heap. Apple rejects current industry best practices by forcing the recyclers it works with to shred iPhones and MacBooks so they cannot be repaired or reused -- instead, they are turned into tiny shards of metal and glass. "Materials are manually and mechanically disassembled and shredded into commodity-sized fractions of metals, plastics, and glass," John Yeider, Apple's recycling program manager, wrote under a heading called "Takeback Program Report" in a 2013 report to Michigan Department of Environmental Quality. "All hard drives are shredded in confetti-sized pieces. The pieces are then sorted into commodities grade materials. After sorting, the materials are sold and used for production stock in new products. No reuse. No parts harvesting. No resale." -
Android Devices Can Be Fatally Hacked By Malicious Wi-Fi Networks (arstechnica.com)
An anonymous reader quotes a report from Ars Technica: A broad array of Android phones is vulnerable to attacks that use booby-trapped Wi-Fi signals to achieve full device takeover, a researcher has demonstrated. The vulnerability resides in a widely used Wi-Fi chipset manufactured by Broadcom and used in both iOS and Android devices. Apple patched the vulnerability with Monday's release of iOS 10.3.1. "An attacker within range may be able to execute arbitrary code on the Wi-Fi chip," Apple's accompanying advisory warned. In a highly detailed blog post published Tuesday, the Google Project Zero researcher who discovered the flaw said it allowed the execution of malicious code on a fully updated 6P "by Wi-Fi proximity alone, requiring no user interaction." Google is in the process of releasing an update in its April security bulletin. The fix is available only to a select number of device models, and even then it can take two weeks or more to be available as an over-the-air update to those who are eligible. Company representatives didn't respond to an e-mail seeking comment for this post. The proof-of-concept exploit developed by Project Zero researcher Gal Beniamini uses Wi-Fi frames that contain irregular values. The values, in turn, cause the firmware running on Broadcom's wireless system-on-chip to overflow its stack. By using the frames to target timers responsible for carrying out regularly occurring events such as performing scans for adjacent networks, Beniamini managed to overwrite specific regions of device memory with arbitrary shellcode. Beniamini's code does nothing more than write a benign value to a specific memory address. Attackers could obviously exploit the same series of flaws to surreptitiously execute malicious code on vulnerable devices within range of a rogue access point. -
What Killed Adobe Flash? (daringfireball.net)
An employee, who claims to have worked on the development of Flash, writes: Apparently, the world settled on the "One True Cause" for why Flash "died". Take for example this blogpost by John Gruber about FedEx... it ends with this consideration on Steve Jobs' "Thoughts on Flash": "If it had been an angry rant, it would have been easily dismissed without needing to be factually refuted -- "That's just Jobs being a prick again." The fact that it wasn't angry, and because it was all true, made it impossible to refute."
Impossible to refute. There's no doubt that this was the beginning of the end for Flash, right? Except that this is utterly wrong. I worked on Flash, and I worked on the thing that actually killed Flash. It is my strong belief, based on what I observed, that Steve Jobs' letter had little impact in the final decision -- it was really Adobe who decided to "kill" Flash. Yes, Flash was a bad rap for Adobe, and Steve's letter didn't help. But ultimately, what was probably decisive was the fact that developing Flash cost Adobe a ton of money. John Gruber, responding to the blogpost: To be clear, I don't think Jobs's letter killed Flash. But I don't think Adobe did either. Eventually Adobe accepted Flash's demise. What killed Flash was Apple's decision not to support it on iOS, combined with iOS's immense popularity and the lucrative demographics of iOS users. If Jobs had never published "Thoughts on Flash", Flash would still be dead. The letter explained the decision, but the decision that mattered was never to support it on iOS in the first place. It's possible that Flash would have died even if Apple had decided to allow it on iOS. Android tried that, and the results were abysmal. Web page scrolling stuttered, and video playback through Flash Player halved battery life compared to non-Flash playback. -
Inside a Phishing Gang That Targets Victims of iPhone Theft (krebsonsecurity.com)
tsu doh nimh writes: Brian Krebs has a readable and ironic story about a phishing-as-a-service product that iPhone thieves can use to phish the Apple iCloud credentials from people who have recently had an iPhone lost or stolen. The phishing service -- which charged as much as $120 for successful phishing attempts targeting iPhone 6s users -- was poorly secured, and a security professional that Krebs worked with managed to guess several passwords for users on the service. From there, the story looks at how this phishing service works, how it tracks victims, and ultimately how one of its core resellers phished his own iCloud account and inadvertently gave his exact location as a result. An excerpt from the report via Krebs On Security: "Victims of iPhone theft can use the Find My iPhone feature to remotely locate, lock or erase their iPhone -- just by visiting Apple's site and entering their iCloud username and password. Likewise, an iPhone thief can use those iCloud credentials to remotely unlock the victim's stolen iPhone, wipe the device, and resell it. As a result, iPhone thieves often subcontract the theft of those credentials to third-party iCloud phishing services. This story is about one of those services..." -
Verizon Wireless Wades Right Back Into the Net Neutrality Debate With Fios Deal (theverge.com)
An anonymous reader quotes a report from The Verge: Verizon is taking a page out of AT&T's book by zero rating its Fios cable TV service for all Verizon Wireless customers. That means that if you purchase your mobile data plan from Verizon Wireless and your cable TV plan from Fios, you can now use the Fios Mobile app to stream live channels and on-demand shows and not have it count against your monthly data cap. (It should be noted that Verizon Wireless and Fios are separate subsidiaries, but both are owned by Verizon Communications.) This builds on Verizon's previous decision to zero rate its Go90 mobile app for customers of its own wireless service, which net neutrality advocates see as prioritizing its own products to the detriment of those from competitors and upstarts. One notable exception here is for customers with unlimited mobile data plans. Streaming Fios Mobile content will in fact count toward the unlimited plans' 22GB a month cap, after which Verizon will cap speeds. This caveat is not made clear in Verizon's marketing language, and instead is found only in the App Store release notes. -
Apple Begins Rejecting Apps With 'Hot Code Push' Feature (apple.com)
Apple has long permitted "hot code push", a feature that allows developers to continuously deploy changes to their mobile apps and have those changes reflect in their apps instantly. This allowed developers to make quick changes to their apps without having to resubmit the new iteration and get approval from the Apple Store review team. But that's changing now. In response to a developer's query, Apple confirmed that it no longer permits "hot code push." The company told the developer: Your app, extension, and/or linked framework appears to contain code designed explicitly with the capability to change your app's behavior or functionality after App Review approval, which is not in compliance with section 3.3.2 of the Apple Developer Program License Agreement and App Store Review Guideline 2.5.2. This code, combined with a remote resource, can facilitate significant changes to your app's behavior compared to when it was initially reviewed for the App Store. While you may not be using this functionality currently, it has the potential to load private frameworks, private methods, and enable future feature changes. -
Apple's New Spaceship Campus Gets a Name, Lifts Off In April (arstechnica.com)
An anonymous reader quotes a report from Ars Technica: Apple has been building its giant new "spaceship" campus in the company's hometown of Cupertino, California, since December of 2013, and since then fans have paid obsessive attention to the structure. It gets buzzed by drones constantly, and the most popular YouTube videos of the building in progress have amassed well over half-a-million views apiece. The company announced today that the campus will be open to employees starting in April and that the building and environs now have a name: Apple Park. Apple says that moving the 12,000 employees who will work at the campus will take more than six months, and landscaping and construction on some buildings won't be done until the summer. The new campus mostly replaces the university-style Infinite Loop campus Apple has used since 1993, though Apple has said that it will also be keeping the older buildings. The new campus' cost has been estimated at around $5 billion. Apple will also be naming one space on the new campus after its founder and former CEO -- the Steve Jobs Theater will replace the current Town Hall event space that Apple sometimes uses for company meetings and product announcements, and it will open "later this year." The new space will be much larger (it will seat 1,000, compared to roughly 300 for the Town Hall), and the larger space will presumably allow Apple to launch more of its products on its campus rather than having to rent expensive event space in downtown San Francisco. The company is also moving its Worldwide Developers Conference closer to home this year -- it will return to San Jose after many years at the Moscone Center in San Francisco. -
Apple Sets a New Record For iPhone Sales (theverge.com)
Apple has reported strong financial results for the first quarter of 2017. According to CEO Tim Cook, the "holiday quarter results generated Apple's highest quarterly revenue ever, and broke multiple records along the way." The company took in $78.4 billion in revenue and sold 78 million iPhones. The Verge reports: Apple reported a profit of $17.8 billion, and said its earnings per share were boosted by the high demand for the larger models of its iPhones, which have higher margins. On the earnings call, Chief financial officer Luca Maestri said that customer satisfaction with iPads, and the new iPad pro, was very high. He predicted strong growth in that category. But the sales figures don't reflect that optimism, with unit sales and revenue from iPad both down around 20 percent year over year. With over a billion iOS devices active around the world, Apple has been able to shore up its flagging hardware sales growth with an increase in revenue from services to those devices. This includes money from Apple Pay, iCloud storage, Apple Music, and App Store sales. It was by far the fastest-growing segment of Apple's revenue this quarter, climbing 18 percent to $7.17 billion since the same period last year. Cook said Apple is aiming to double service revenue over the next four years. Maestri said Apple's App Store had double the revenue of Google's Play Store in 2016. Apple has more than $200 billion in cash parked overseas. Cook said on today's call that he was optimistic about tax reform in the U.S. happening this year, and that this might allow Apple to bring a lot of that money back home. "With our toe in the water, we're learning a lot about the original content business," Cook said, hinting at one way Apple might deploy all that capital. -
LG's UltraFine 5K Display Becomes Useless When It's Within Two Meters of a Router (9to5mac.com)
The LG UltraFine 5K Display was designed in part by Apple to work with the New MacBook Pro and as a replacement for the Thunderbolt Display, which was discontinued late last year. According to 9to5Mac, the display apparently wasn't designed to work next to routers as it will flicker, disconnect, or freeze computers when it's within two meters of a router due to electromagnetic interference. The Verge reports: In emails to 9to5Mac, LG acknowledged the problem -- which LG says isn't an issue for any of its other monitors -- noting that routers "may affect the performance of the monitor" and that users should "have the router placed at least two meters away from the monitor" to avoid issues. Once the monitor was moved into a different room away from the router, 9to5Mac says the issues subsided. Despite the fact that it's insane to require a router to be far away from what is likely the main computer in your home, there's been no indication that LG is working on a fix for the issue, which may be more troublesome. -
Slashdot's Interview With Swift Creator Chris Lattner
You asked, he answered! The creator of Apple's Swift programming language (and a self-described "long-time reader/fan of Slashdot") stopped by on his way to a new job at Tesla just to field questions from Slashdot readers. Read on for Chris's answers... Questions, and my best wishes.
by Volanin
Since you're the creator of LLVM, I'd like to know, in your opinion what's the greatest advantage of LLVM/Clang over the traditional and established GNU GCC compiler. Also, what's the greatest advantage of GNU GCC (or if you'd prefer, any other compiler) over LLVM/Clang, something that you'd like to "port" someday?
CL: GCC and LLVM/Clang have had a mutually beneficial relationship for years. Clang's early lead in terms of compiler error message expressivity has led the GCC developers to improve their error messages, and obviously GCC provides a very high bar to meet when LLVM and Clang were being brought up. It is important to keep in mind that GCC doesn't have to lose for Clang to win (or visa versa). Also, I haven't used GCC for many years, that said, since you asked I'll try to answer to the best of my knowledge:
From my understanding, for a C or C++ programmer on Linux, the code generated by GCC and Clang is comparable (each win some cases and lose other cases). Both compilers have a similar feature set (e.g. OpenMP is supported by both). Clang compiles code significantly faster than GCC in many cases, still generates slightly better errors and warning messages than GCC, and is usually a bit ahead in terms of support for the C++ standard. That said, the most significant benefit is improved compile time.
Going one level deeper, the most significant benefit I see of the LLVM optimizer and code generator over GCC is its architecture and design. LLVM is built with a modular library-based design, which has allowed it to be used in a variety of ways that we didn't anticipate. For example, it has been used by movie studios to JIT compile and optimize shaders used in special effects, has been used to optimize database queries, and LLVM is used as the code generator for a much wider range of source languages than GCC.
Similarly, the most significant benefit of Clang is that it is also modular. It specifically tackles problems related to IDE integration (including code completion, syntax highlighting, etc) and has a mature and vibrant tooling ecosystem build around it. Clang's design (e.g. lack of pervasive global variables) also allows it to be used at runtime, for example in OpenCL and CUDA implementations.
The greatest advantage I can see of GCC over LLVM/Clang is that it is the default compiler on almost all Linux distributions, and of course Linux is an incredibly important for developers. I'd love to see more Linux distributions start shipping Clang by default. Finally, GCC provides an Ada frontend, and I'm not aware of a supported solution for Ada + LLVM.
Future of LLVM?
by mveloso
Where do you see LLVM going?
CL: There are lots of things going on, driven by the amazing community of developers (which is growing like crazy) driving forward the llvm.org projects. LLVM is now used pervasively across the industry, by companies like Apple, Intel, AMD, Nvidia, Qualcomm, Google, Sony, Facebook, ARM, Microsoft, FreeBSD, and more. I'd love for it to be used more widely on Windows and Linux.
At the same time, I expect to see LLVM to continue to improve in a ton of different ways. For example, ThinLTO is an extremely promising approach that promises to bring scalable link time optimization to everyone, potentially replacing the default for -O3 builds. Similarly, there is work going on to speed up compile times, add support for the Microsoft PDB debug information format, and too many other things to mention here. It is an incredibly exciting time. If you're interested in a taste of what is happening, take a look at the proceedings from the recent 2016 LLVM Developer Meeting.
Finally, the LLVM Project continues to expand. Relatively recent additions include llgo (a Go frontend) and lld (a faster linker than "Gold"), and there are rumors that a Fortran frontend may soon join the fold.
The Mythical Compiler -VLIW
by Anonymous Coward
Is there any hope for VLIW architectures? The general consensus seems to be that Itanium tanked because the compiler technology wasn't able to make the leap needed. Linus complained about the Itanium ISA exposing the pipelines to assembly developers. What are the challenges from a compiler writers perspective with VLIW?
CL: I can't speak to why Itanium failed (I suspect that many non-technical issues like business decisions and schedule impacted it), but VLIW is hardly dead. VLIW designs are actively used in some modern GPUs and is widely used in DSPs - one example supported by LLVM is the Qualcomm Hexagon chip. The major challenge when compiling for a VLIW architecture is that the compiler needs good profile information, so it has an accurate idea of the dynamic behavior of the program.
How much of Swift is Based on Groovy?
by Anonymous Coward
So how much of Swift was inspired by Groovy? Both come from more high-end languages and look and act almost identical.
CL: It is an intentional design point of Swift that it look and feel "familiar" to folks coming from many other languages: not just Groovy. Feeling familiar and eliminating unnecessary differences from other programming languages is a way of reducing barriers of entry to start programming in Swift. It is also clearly true that many other languages syntactically influence each other, so you see convergence of ideas coming from many different places.
That said, I think it is a stretch to say that Swift and Groovy look and act "identical", except in some very narrow cases. The goal of Swift is simply to be as great as possible, it is not trying to imitate some other programming language.
C#
by Anonymous Coward
What do you think about Microsoft and C# versus the merits of Swift?
CL: I have a ton of respect for C#, Rust, and many other languages, and Swift certainly benefited by being able to observe their evolution over time. As such, there are a lot of similarities between these languages, and it isn't an accident.
Comparing languages is difficult in this format, because a lot of the answers come down to "it depends on what you're trying to do", but I'll give it a shot. C# has the obvious benefit of working with the .NET ecosystem, whereas Swift is stronger at working in existing C and Objective-C ecosystems like Cocoa and POSIX.
From a language level, Swift has a more general type system than C# does, offers more advanced value types, protocol extensions, etc. Swift also has advantages in mobile use cases because ARC requires significantly less memory than garbage collected languages for a given workload. On the other hand, C# has a number of cool features that Swift lacks, like async/await, LINQ, etc.
Rust
by Anonymous Coward
Chris, what are your general thoughts about Rust as a programming language?
CL: I'm a huge Rust fan: I think that it is a great language and its community is amazing. Rust has a clear lead over Swift in the system programming space (e.g. for writing kernels and device drivers) and I consider it one of the very few candidates that could lead to displacing C and C++ with a more safe programming language.
That said, Swift has advantages in terms of more developers using it, a more mature IDE story, and offers a much shallower learning curve for new developers. It is also very likely that a future version of Swift will introduce move-only types and a full ownership model, which will make Swift a lot more interesting in the system programming space.
BASIC
by jo7hs2
As someone who has been involved with the development of programming languages, do you think it is still possible to come up with a modern-day replacement for BASIC that can operate in modern GUI environments?
It seems like all attempts since we went GUI (aside from maybe early VisualBASIC and Hypercard) have been too complicated, and all attempts have been platform-specific or abandoned. With the emphasis on coding in schools, it seems like it would be helpful to have a good, simple, introductory language like we had in BASIC.
CL: It's probably a huge shock, but I think Swift could be this language. If you have an iPad, you should try out the free Swift Playgrounds app, which is aimed to teach people about programming, assuming no prior experience. I think it would be great for Swift to expand to provide a VisualBASIC-like scripting solution for GUI apps as well.
Cross-platform
by psergiu
How cross-platform is Swift? Are the GUI libraries platform-dependent or independent? I.E.: Can I write a single Swift program with a GUI that will compile, work the same and look similar on multiple platforms: Linux, Mac OS, Real Unix-es & BSDs, AIX, Windows?
CL: Swift is Open Source, has a vibrant community with hundreds of contributors, and builds on the proven LLVM and Clang technology stack. The Swift community has ported Swift itself to many different platforms beyond Apple platforms: it runs on various Linux distros and work is underway by various people to port it to Android, Windows, various BSDs, and even IBM mainframes.
That said, Swift does not provide a GUI layer, so you need to use native technologies to do so. Swift helps by providing great support for interoperating with existing C code (and will hopefully expand to support C++ and other languages in the future). It is possible for someone to design and build a cross platform GUI layer, but I'm not aware of any serious efforts to do so.
Exception Handling
by andywest
Why did Swift NOT have exception handling in the first couple of versions?
CL: Swift 1 (released in 2014) didn't include an error handling model simply because it wasn't ready in time: it was added in Swift 2 (2015). Swift 2 included a number of great improvements that weren't ready for Swift 1, including protocol extensions. Protocol extensions dramatically expanded the design space of what you can do with Swift, bringing a new era of "protocol oriented programming". That said, even Swift 3 (2016) is still missing a ton of great things we hope to add over the coming years: there is a long and exciting road ahead! See questions below for more details.
Why are strings passed by value?
by Anonymous Coward
Strings are immutable pass-by-reference objects in most modern languages. Why did you make this decision?
CL: Swift uses value semantics for all of its "built in" collections, including String, Array, Dictionary, etc. This provides a number of great advantages by improving efficiency (permitting in-place updating instead of requiring reallocation), eliminating large classes of bugs related to unanticipated sharing (someone mutates your collection when you are using it), and defines away a class of concurrency issues. Strings are perhaps the simplest of any of these cases, but they get the efficiency and other benefits.
If you're interested in more detail, there is a wealth of good information about the benefits of value vs reference types online. One great place to start is the "Building Better Apps with Value Types in Swift" talk from WWDC 2015.
As a language designer
by superwiz
Since you have been involved with 2 lauded languages, you are in a good position to answer the following question: "are modern languages forced to rely on language run-time to compensate for the facilities lacking in modern operating systems?" In other words, have the languages tried to compensate for the fact that there are no new OS-level light-weight paradigms to take advantage of multi-core processors?
CL: I'm not sure exactly what you mean here, but yes: if an OS provides functionality, there is no reason for a language runtime to replicate it, so runtimes really only exist to supplement what the OS provides. That said, the line between the OS and libraries is a very blurry one: Grand Central Dispatch (GCD) is a great example, because it is a combination of user space code, kernel primitives, and more all designed together.
Parallelism
by bill_mcgonigle
Say, about fifteen years ago, there was huge buzz about how languages and compilers were going to take care of the "Moore's Law Problem" by automating the parallelism of every task that could be broken up. With single-static assignment trees and the like the programmer was going to be freed from manually doing the parallelism.
With manufacturers starting to turn out 32- and 64-core chips, I'm wondering how well did we did on that front. I don't see a ton of software automatically not pegging a core on my CPU's. The ones that aren't quite as bad are mostly just doing a fork() in 2017. Did we get anywhere? Are we almost there? Is software just not compiled right now? Did it turn out to be harder than expected? Were languages not up to the task? Is hardware (e.g. memory access architectures) insufficient? Was the possibility oversold in the first place?
CL: I can't provide a global answer, but clearly parallelism is being well utilized in some "easy" cases (e.g. speeding up build time of large software, speed of 3d rendering, etc). Also, while large machines are available, most computers are only running machines with 1-4 cores (e.g. mobile phones and laptops), which means that most software doesn't have to cope with the prospects of 32-core machines⦠yet.
Looking forward, I am skeptical of the promises of overly magic solutions like compiler auto-parallelization of single threaded code. These "heroic" approaches can work on specific benchmarks and other narrow situations, but don't lead to a predictable and reliable programmer model. For example, a good result would be for you to use one of these systems and get a 32x speedup on your codebase. A really bad result would be to then make a minor change or bug fix to your code, and find out that it caused a 32x slowdown by defeating the prior compiler optimization. Magic solutions are problematic because they don't provide programmer control.
As such, my preferred approach is for the programming language to provide expressive ways for the programmer to describe their parallelism, and then allow the compiler and runtime to efficiently optimize it. Things like actor models, OpenMP, C++ AMP, and goroutines seem like the best approach. I expect concurrency to be an active area of development in the Swift language, and hope that the first pieces of the story will land in Swift 5 (2018).
Any insight into language design choices?
by EMB Numbers
I am a 25+ year Objective-C programmer and among other topics, I teach "Mobile App Development" and "Comparative Languages" at a university. I confess to being perplexed by some Swift language design decisions. For example,- Swift is intended to be a "Systems Programming Language", is it not? Yet, there is no support for "volatile" variables needed to support fundamental "system" features like direct memory access from peripheral hardware.
- Why not support "dynamic runtime features" like the ones provided by the Objective-C language and runtime? It's partly a trick question because Swift is remarkably "dynamic" through use of closures and other features, but why not go "all the way?"
CL: These two questions get to the root of Swift "current and future". In short, I would NOT say that Swift is an extremely compelling systems programming or scripting language today, but it does aspire to be great for this in the years ahead. Recall that Swift is only a bit over two years old at this point: Swift 1.0 was released in September 2014.
If you compare Swift to other popular contemporary programming languages (e.g. Python, Java/C#, C/C++, Javascript, Objective-C, etc) a major difference is that Swift was designed for generality: these languages were initially designed for a specific niche and use case and then organically growing out.
In contrast, Swift was designed from the start to eventually span the gamut from scripting language to systems programming, and its underlying design choices anticipate the day when all the pieces come together. This is no small feat, because it requires pulling together the strengths of each of these languages into a single coherent whole, while balancing out the tradeoffs forced by each of them.
For example, if you compare Swift 3 to scripting languages like Python, Perl, and Ruby, I think that Swift is already as expressive, teachable, and easy to learn as a scripting language, and it includes a REPL and support for #! scripts. That said, there are obvious missing holes, like no regular expression literals, no multi-line string literals, and poor support for functionality like command line argument processing - Swift needs to be more "batteries included".
If you compare Swift 3 to systems programming languages with C/C++ or Rust, then I think there is a lot to like: Swift provides full low-level memory control through its "unsafe" APIs (e.g. you can directly call malloc and free with no overhead from Swift, if that is what you want to do). Swift also has a much lighter weight runtime than many other high level languages (e.g. no tracing Garbage Collector or threading runtime is required). That said, it has a number of holes in the story: no support for memory mapped I/O, no support for inline assembly, etc. More significantly, getting low-level control of memory requires dropping down to the Unsafe APIs, which provide a very C/C++ level of control, but also provides the C/C++ level lack of memory safety. I'm optimistic that the ongoing work to bring an ownership model to Swift will provide the kinds of safety and performance that Rust offers in this space.
If you compare Swift 3 to general application level languages like Java, I think it is already pretty great (and has been proven by its rapid adoption in the iOS ecosystem). The server space has very similar needs to general app development, but both would really benefit from a concurrency model (which I expect to be an important focus of Swift 5).
Beyond these areas of investment there is no shortage of ideas for other things to add over time. For example, the dynamic reflection capabilities you mention need to be baked out, and many people are interested in things like pre/post-conditions, language support for typestate, further improvements to the generics system, improved submodules/namespacing, a hygienic macro system, tail calls, and so much more.
There is a long and exciting road ahead for Swift development, and one of the most important features was a key part of Swift 3: unlike in the past, we expect Swift to be extremely source compatible going forward. These new capabilities should be addable to the language and runtime without breaking code. If you are interested in following along or getting involved with Swift development, I highly encourage you to check out the swift-evolution mailing list and project on GitHub.
Any hope for more productive programming?
by Kohath
I work in the semiconductor industry and our ASIC designs have seen a few large jumps in productivity:- Transistors and custom layouts transitioned to standard cell flows and automated P&R.
- Design using logic blocks transitioned to synthesized design using RTL with HDLs.
- Most recently, we are synthesizing circuits directly from C language.
In the same timeframe, programming has remained more or less the same as it always was. New languages offer only incremental productivity improvements, and most of the big problems from 10 or 20 years ago remain big problems.
Do you know of any initiatives that could produce a step-function increase (say 5-10x) in coding productivity for average engineers?
CL: There have been a number of attempts to make a "big leap" in programmer productivity over the years, including visual programming languages, fourth-generation" programming languages, and others. That said, in terms of broad impact on the industry, none of these have been as successful as the widespread rise of "package" ecosystems (like Perl's CPAN, Ruby Gems, NPM in Javascript, and many others), which allow rapid reuse of other people's code. When I compare the productivity of a modern software developer using these systems, I think it is easy to see a 10x improvement in coding productivity, compared to a C or C++ programmer 10 years ago.
Swift embraces this direction with its builtin package manager "SwiftPM". Just as the Swift language learns from other languages, SwiftPM is designed with an awareness of other package ecosystems and attempts to assemble their best ideas into a single coherent vision. SwiftPM also provides a portable build system, allowing development and deployment of cross-platform Swift packages. SwiftPM is still comparatively early on in design, but has some heavy hitters behind it, particularly those involved in the various Swift for the Server initiatives. You might also be interested in the online package catalog hosted by IBM.
Looking ahead, even though a bit cliche, I'd have to say that machine learning techniques (convolutional neural nets and deep neural nets for example) really are changing the world by making formerly impossible things merely "hard". While it currently seems that you need a team of Ph.D's to apply and develop these techniques, when they become better understood and developed, I expect them to be more widely accessible to the rest of us. Another really interesting recent development is the idea of "word vectors," which is a pretty cool area to geek out on. -
Slashdot's Interview With Swift Creator Chris Lattner
You asked, he answered! The creator of Apple's Swift programming language (and a self-described "long-time reader/fan of Slashdot") stopped by on his way to a new job at Tesla just to field questions from Slashdot readers. Read on for Chris's answers... Questions, and my best wishes.
by Volanin
Since you're the creator of LLVM, I'd like to know, in your opinion what's the greatest advantage of LLVM/Clang over the traditional and established GNU GCC compiler. Also, what's the greatest advantage of GNU GCC (or if you'd prefer, any other compiler) over LLVM/Clang, something that you'd like to "port" someday?
CL: GCC and LLVM/Clang have had a mutually beneficial relationship for years. Clang's early lead in terms of compiler error message expressivity has led the GCC developers to improve their error messages, and obviously GCC provides a very high bar to meet when LLVM and Clang were being brought up. It is important to keep in mind that GCC doesn't have to lose for Clang to win (or visa versa). Also, I haven't used GCC for many years, that said, since you asked I'll try to answer to the best of my knowledge:
From my understanding, for a C or C++ programmer on Linux, the code generated by GCC and Clang is comparable (each win some cases and lose other cases). Both compilers have a similar feature set (e.g. OpenMP is supported by both). Clang compiles code significantly faster than GCC in many cases, still generates slightly better errors and warning messages than GCC, and is usually a bit ahead in terms of support for the C++ standard. That said, the most significant benefit is improved compile time.
Going one level deeper, the most significant benefit I see of the LLVM optimizer and code generator over GCC is its architecture and design. LLVM is built with a modular library-based design, which has allowed it to be used in a variety of ways that we didn't anticipate. For example, it has been used by movie studios to JIT compile and optimize shaders used in special effects, has been used to optimize database queries, and LLVM is used as the code generator for a much wider range of source languages than GCC.
Similarly, the most significant benefit of Clang is that it is also modular. It specifically tackles problems related to IDE integration (including code completion, syntax highlighting, etc) and has a mature and vibrant tooling ecosystem build around it. Clang's design (e.g. lack of pervasive global variables) also allows it to be used at runtime, for example in OpenCL and CUDA implementations.
The greatest advantage I can see of GCC over LLVM/Clang is that it is the default compiler on almost all Linux distributions, and of course Linux is an incredibly important for developers. I'd love to see more Linux distributions start shipping Clang by default. Finally, GCC provides an Ada frontend, and I'm not aware of a supported solution for Ada + LLVM.
Future of LLVM?
by mveloso
Where do you see LLVM going?
CL: There are lots of things going on, driven by the amazing community of developers (which is growing like crazy) driving forward the llvm.org projects. LLVM is now used pervasively across the industry, by companies like Apple, Intel, AMD, Nvidia, Qualcomm, Google, Sony, Facebook, ARM, Microsoft, FreeBSD, and more. I'd love for it to be used more widely on Windows and Linux.
At the same time, I expect to see LLVM to continue to improve in a ton of different ways. For example, ThinLTO is an extremely promising approach that promises to bring scalable link time optimization to everyone, potentially replacing the default for -O3 builds. Similarly, there is work going on to speed up compile times, add support for the Microsoft PDB debug information format, and too many other things to mention here. It is an incredibly exciting time. If you're interested in a taste of what is happening, take a look at the proceedings from the recent 2016 LLVM Developer Meeting.
Finally, the LLVM Project continues to expand. Relatively recent additions include llgo (a Go frontend) and lld (a faster linker than "Gold"), and there are rumors that a Fortran frontend may soon join the fold.
The Mythical Compiler -VLIW
by Anonymous Coward
Is there any hope for VLIW architectures? The general consensus seems to be that Itanium tanked because the compiler technology wasn't able to make the leap needed. Linus complained about the Itanium ISA exposing the pipelines to assembly developers. What are the challenges from a compiler writers perspective with VLIW?
CL: I can't speak to why Itanium failed (I suspect that many non-technical issues like business decisions and schedule impacted it), but VLIW is hardly dead. VLIW designs are actively used in some modern GPUs and is widely used in DSPs - one example supported by LLVM is the Qualcomm Hexagon chip. The major challenge when compiling for a VLIW architecture is that the compiler needs good profile information, so it has an accurate idea of the dynamic behavior of the program.
How much of Swift is Based on Groovy?
by Anonymous Coward
So how much of Swift was inspired by Groovy? Both come from more high-end languages and look and act almost identical.
CL: It is an intentional design point of Swift that it look and feel "familiar" to folks coming from many other languages: not just Groovy. Feeling familiar and eliminating unnecessary differences from other programming languages is a way of reducing barriers of entry to start programming in Swift. It is also clearly true that many other languages syntactically influence each other, so you see convergence of ideas coming from many different places.
That said, I think it is a stretch to say that Swift and Groovy look and act "identical", except in some very narrow cases. The goal of Swift is simply to be as great as possible, it is not trying to imitate some other programming language.
C#
by Anonymous Coward
What do you think about Microsoft and C# versus the merits of Swift?
CL: I have a ton of respect for C#, Rust, and many other languages, and Swift certainly benefited by being able to observe their evolution over time. As such, there are a lot of similarities between these languages, and it isn't an accident.
Comparing languages is difficult in this format, because a lot of the answers come down to "it depends on what you're trying to do", but I'll give it a shot. C# has the obvious benefit of working with the .NET ecosystem, whereas Swift is stronger at working in existing C and Objective-C ecosystems like Cocoa and POSIX.
From a language level, Swift has a more general type system than C# does, offers more advanced value types, protocol extensions, etc. Swift also has advantages in mobile use cases because ARC requires significantly less memory than garbage collected languages for a given workload. On the other hand, C# has a number of cool features that Swift lacks, like async/await, LINQ, etc.
Rust
by Anonymous Coward
Chris, what are your general thoughts about Rust as a programming language?
CL: I'm a huge Rust fan: I think that it is a great language and its community is amazing. Rust has a clear lead over Swift in the system programming space (e.g. for writing kernels and device drivers) and I consider it one of the very few candidates that could lead to displacing C and C++ with a more safe programming language.
That said, Swift has advantages in terms of more developers using it, a more mature IDE story, and offers a much shallower learning curve for new developers. It is also very likely that a future version of Swift will introduce move-only types and a full ownership model, which will make Swift a lot more interesting in the system programming space.
BASIC
by jo7hs2
As someone who has been involved with the development of programming languages, do you think it is still possible to come up with a modern-day replacement for BASIC that can operate in modern GUI environments?
It seems like all attempts since we went GUI (aside from maybe early VisualBASIC and Hypercard) have been too complicated, and all attempts have been platform-specific or abandoned. With the emphasis on coding in schools, it seems like it would be helpful to have a good, simple, introductory language like we had in BASIC.
CL: It's probably a huge shock, but I think Swift could be this language. If you have an iPad, you should try out the free Swift Playgrounds app, which is aimed to teach people about programming, assuming no prior experience. I think it would be great for Swift to expand to provide a VisualBASIC-like scripting solution for GUI apps as well.
Cross-platform
by psergiu
How cross-platform is Swift? Are the GUI libraries platform-dependent or independent? I.E.: Can I write a single Swift program with a GUI that will compile, work the same and look similar on multiple platforms: Linux, Mac OS, Real Unix-es & BSDs, AIX, Windows?
CL: Swift is Open Source, has a vibrant community with hundreds of contributors, and builds on the proven LLVM and Clang technology stack. The Swift community has ported Swift itself to many different platforms beyond Apple platforms: it runs on various Linux distros and work is underway by various people to port it to Android, Windows, various BSDs, and even IBM mainframes.
That said, Swift does not provide a GUI layer, so you need to use native technologies to do so. Swift helps by providing great support for interoperating with existing C code (and will hopefully expand to support C++ and other languages in the future). It is possible for someone to design and build a cross platform GUI layer, but I'm not aware of any serious efforts to do so.
Exception Handling
by andywest
Why did Swift NOT have exception handling in the first couple of versions?
CL: Swift 1 (released in 2014) didn't include an error handling model simply because it wasn't ready in time: it was added in Swift 2 (2015). Swift 2 included a number of great improvements that weren't ready for Swift 1, including protocol extensions. Protocol extensions dramatically expanded the design space of what you can do with Swift, bringing a new era of "protocol oriented programming". That said, even Swift 3 (2016) is still missing a ton of great things we hope to add over the coming years: there is a long and exciting road ahead! See questions below for more details.
Why are strings passed by value?
by Anonymous Coward
Strings are immutable pass-by-reference objects in most modern languages. Why did you make this decision?
CL: Swift uses value semantics for all of its "built in" collections, including String, Array, Dictionary, etc. This provides a number of great advantages by improving efficiency (permitting in-place updating instead of requiring reallocation), eliminating large classes of bugs related to unanticipated sharing (someone mutates your collection when you are using it), and defines away a class of concurrency issues. Strings are perhaps the simplest of any of these cases, but they get the efficiency and other benefits.
If you're interested in more detail, there is a wealth of good information about the benefits of value vs reference types online. One great place to start is the "Building Better Apps with Value Types in Swift" talk from WWDC 2015.
As a language designer
by superwiz
Since you have been involved with 2 lauded languages, you are in a good position to answer the following question: "are modern languages forced to rely on language run-time to compensate for the facilities lacking in modern operating systems?" In other words, have the languages tried to compensate for the fact that there are no new OS-level light-weight paradigms to take advantage of multi-core processors?
CL: I'm not sure exactly what you mean here, but yes: if an OS provides functionality, there is no reason for a language runtime to replicate it, so runtimes really only exist to supplement what the OS provides. That said, the line between the OS and libraries is a very blurry one: Grand Central Dispatch (GCD) is a great example, because it is a combination of user space code, kernel primitives, and more all designed together.
Parallelism
by bill_mcgonigle
Say, about fifteen years ago, there was huge buzz about how languages and compilers were going to take care of the "Moore's Law Problem" by automating the parallelism of every task that could be broken up. With single-static assignment trees and the like the programmer was going to be freed from manually doing the parallelism.
With manufacturers starting to turn out 32- and 64-core chips, I'm wondering how well did we did on that front. I don't see a ton of software automatically not pegging a core on my CPU's. The ones that aren't quite as bad are mostly just doing a fork() in 2017. Did we get anywhere? Are we almost there? Is software just not compiled right now? Did it turn out to be harder than expected? Were languages not up to the task? Is hardware (e.g. memory access architectures) insufficient? Was the possibility oversold in the first place?
CL: I can't provide a global answer, but clearly parallelism is being well utilized in some "easy" cases (e.g. speeding up build time of large software, speed of 3d rendering, etc). Also, while large machines are available, most computers are only running machines with 1-4 cores (e.g. mobile phones and laptops), which means that most software doesn't have to cope with the prospects of 32-core machines⦠yet.
Looking forward, I am skeptical of the promises of overly magic solutions like compiler auto-parallelization of single threaded code. These "heroic" approaches can work on specific benchmarks and other narrow situations, but don't lead to a predictable and reliable programmer model. For example, a good result would be for you to use one of these systems and get a 32x speedup on your codebase. A really bad result would be to then make a minor change or bug fix to your code, and find out that it caused a 32x slowdown by defeating the prior compiler optimization. Magic solutions are problematic because they don't provide programmer control.
As such, my preferred approach is for the programming language to provide expressive ways for the programmer to describe their parallelism, and then allow the compiler and runtime to efficiently optimize it. Things like actor models, OpenMP, C++ AMP, and goroutines seem like the best approach. I expect concurrency to be an active area of development in the Swift language, and hope that the first pieces of the story will land in Swift 5 (2018).
Any insight into language design choices?
by EMB Numbers
I am a 25+ year Objective-C programmer and among other topics, I teach "Mobile App Development" and "Comparative Languages" at a university. I confess to being perplexed by some Swift language design decisions. For example,- Swift is intended to be a "Systems Programming Language", is it not? Yet, there is no support for "volatile" variables needed to support fundamental "system" features like direct memory access from peripheral hardware.
- Why not support "dynamic runtime features" like the ones provided by the Objective-C language and runtime? It's partly a trick question because Swift is remarkably "dynamic" through use of closures and other features, but why not go "all the way?"
CL: These two questions get to the root of Swift "current and future". In short, I would NOT say that Swift is an extremely compelling systems programming or scripting language today, but it does aspire to be great for this in the years ahead. Recall that Swift is only a bit over two years old at this point: Swift 1.0 was released in September 2014.
If you compare Swift to other popular contemporary programming languages (e.g. Python, Java/C#, C/C++, Javascript, Objective-C, etc) a major difference is that Swift was designed for generality: these languages were initially designed for a specific niche and use case and then organically growing out.
In contrast, Swift was designed from the start to eventually span the gamut from scripting language to systems programming, and its underlying design choices anticipate the day when all the pieces come together. This is no small feat, because it requires pulling together the strengths of each of these languages into a single coherent whole, while balancing out the tradeoffs forced by each of them.
For example, if you compare Swift 3 to scripting languages like Python, Perl, and Ruby, I think that Swift is already as expressive, teachable, and easy to learn as a scripting language, and it includes a REPL and support for #! scripts. That said, there are obvious missing holes, like no regular expression literals, no multi-line string literals, and poor support for functionality like command line argument processing - Swift needs to be more "batteries included".
If you compare Swift 3 to systems programming languages with C/C++ or Rust, then I think there is a lot to like: Swift provides full low-level memory control through its "unsafe" APIs (e.g. you can directly call malloc and free with no overhead from Swift, if that is what you want to do). Swift also has a much lighter weight runtime than many other high level languages (e.g. no tracing Garbage Collector or threading runtime is required). That said, it has a number of holes in the story: no support for memory mapped I/O, no support for inline assembly, etc. More significantly, getting low-level control of memory requires dropping down to the Unsafe APIs, which provide a very C/C++ level of control, but also provides the C/C++ level lack of memory safety. I'm optimistic that the ongoing work to bring an ownership model to Swift will provide the kinds of safety and performance that Rust offers in this space.
If you compare Swift 3 to general application level languages like Java, I think it is already pretty great (and has been proven by its rapid adoption in the iOS ecosystem). The server space has very similar needs to general app development, but both would really benefit from a concurrency model (which I expect to be an important focus of Swift 5).
Beyond these areas of investment there is no shortage of ideas for other things to add over time. For example, the dynamic reflection capabilities you mention need to be baked out, and many people are interested in things like pre/post-conditions, language support for typestate, further improvements to the generics system, improved submodules/namespacing, a hygienic macro system, tail calls, and so much more.
There is a long and exciting road ahead for Swift development, and one of the most important features was a key part of Swift 3: unlike in the past, we expect Swift to be extremely source compatible going forward. These new capabilities should be addable to the language and runtime without breaking code. If you are interested in following along or getting involved with Swift development, I highly encourage you to check out the swift-evolution mailing list and project on GitHub.
Any hope for more productive programming?
by Kohath
I work in the semiconductor industry and our ASIC designs have seen a few large jumps in productivity:- Transistors and custom layouts transitioned to standard cell flows and automated P&R.
- Design using logic blocks transitioned to synthesized design using RTL with HDLs.
- Most recently, we are synthesizing circuits directly from C language.
In the same timeframe, programming has remained more or less the same as it always was. New languages offer only incremental productivity improvements, and most of the big problems from 10 or 20 years ago remain big problems.
Do you know of any initiatives that could produce a step-function increase (say 5-10x) in coding productivity for average engineers?
CL: There have been a number of attempts to make a "big leap" in programmer productivity over the years, including visual programming languages, fourth-generation" programming languages, and others. That said, in terms of broad impact on the industry, none of these have been as successful as the widespread rise of "package" ecosystems (like Perl's CPAN, Ruby Gems, NPM in Javascript, and many others), which allow rapid reuse of other people's code. When I compare the productivity of a modern software developer using these systems, I think it is easy to see a 10x improvement in coding productivity, compared to a C or C++ programmer 10 years ago.
Swift embraces this direction with its builtin package manager "SwiftPM". Just as the Swift language learns from other languages, SwiftPM is designed with an awareness of other package ecosystems and attempts to assemble their best ideas into a single coherent vision. SwiftPM also provides a portable build system, allowing development and deployment of cross-platform Swift packages. SwiftPM is still comparatively early on in design, but has some heavy hitters behind it, particularly those involved in the various Swift for the Server initiatives. You might also be interested in the online package catalog hosted by IBM.
Looking ahead, even though a bit cliche, I'd have to say that machine learning techniques (convolutional neural nets and deep neural nets for example) really are changing the world by making formerly impossible things merely "hard". While it currently seems that you need a team of Ph.D's to apply and develop these techniques, when they become better understood and developed, I expect them to be more widely accessible to the rest of us. Another really interesting recent development is the idea of "word vectors," which is a pretty cool area to geek out on. -
Slashdot's Interview With Swift Creator Chris Lattner
You asked, he answered! The creator of Apple's Swift programming language (and a self-described "long-time reader/fan of Slashdot") stopped by on his way to a new job at Tesla just to field questions from Slashdot readers. Read on for Chris's answers... Questions, and my best wishes.
by Volanin
Since you're the creator of LLVM, I'd like to know, in your opinion what's the greatest advantage of LLVM/Clang over the traditional and established GNU GCC compiler. Also, what's the greatest advantage of GNU GCC (or if you'd prefer, any other compiler) over LLVM/Clang, something that you'd like to "port" someday?
CL: GCC and LLVM/Clang have had a mutually beneficial relationship for years. Clang's early lead in terms of compiler error message expressivity has led the GCC developers to improve their error messages, and obviously GCC provides a very high bar to meet when LLVM and Clang were being brought up. It is important to keep in mind that GCC doesn't have to lose for Clang to win (or visa versa). Also, I haven't used GCC for many years, that said, since you asked I'll try to answer to the best of my knowledge:
From my understanding, for a C or C++ programmer on Linux, the code generated by GCC and Clang is comparable (each win some cases and lose other cases). Both compilers have a similar feature set (e.g. OpenMP is supported by both). Clang compiles code significantly faster than GCC in many cases, still generates slightly better errors and warning messages than GCC, and is usually a bit ahead in terms of support for the C++ standard. That said, the most significant benefit is improved compile time.
Going one level deeper, the most significant benefit I see of the LLVM optimizer and code generator over GCC is its architecture and design. LLVM is built with a modular library-based design, which has allowed it to be used in a variety of ways that we didn't anticipate. For example, it has been used by movie studios to JIT compile and optimize shaders used in special effects, has been used to optimize database queries, and LLVM is used as the code generator for a much wider range of source languages than GCC.
Similarly, the most significant benefit of Clang is that it is also modular. It specifically tackles problems related to IDE integration (including code completion, syntax highlighting, etc) and has a mature and vibrant tooling ecosystem build around it. Clang's design (e.g. lack of pervasive global variables) also allows it to be used at runtime, for example in OpenCL and CUDA implementations.
The greatest advantage I can see of GCC over LLVM/Clang is that it is the default compiler on almost all Linux distributions, and of course Linux is an incredibly important for developers. I'd love to see more Linux distributions start shipping Clang by default. Finally, GCC provides an Ada frontend, and I'm not aware of a supported solution for Ada + LLVM.
Future of LLVM?
by mveloso
Where do you see LLVM going?
CL: There are lots of things going on, driven by the amazing community of developers (which is growing like crazy) driving forward the llvm.org projects. LLVM is now used pervasively across the industry, by companies like Apple, Intel, AMD, Nvidia, Qualcomm, Google, Sony, Facebook, ARM, Microsoft, FreeBSD, and more. I'd love for it to be used more widely on Windows and Linux.
At the same time, I expect to see LLVM to continue to improve in a ton of different ways. For example, ThinLTO is an extremely promising approach that promises to bring scalable link time optimization to everyone, potentially replacing the default for -O3 builds. Similarly, there is work going on to speed up compile times, add support for the Microsoft PDB debug information format, and too many other things to mention here. It is an incredibly exciting time. If you're interested in a taste of what is happening, take a look at the proceedings from the recent 2016 LLVM Developer Meeting.
Finally, the LLVM Project continues to expand. Relatively recent additions include llgo (a Go frontend) and lld (a faster linker than "Gold"), and there are rumors that a Fortran frontend may soon join the fold.
The Mythical Compiler -VLIW
by Anonymous Coward
Is there any hope for VLIW architectures? The general consensus seems to be that Itanium tanked because the compiler technology wasn't able to make the leap needed. Linus complained about the Itanium ISA exposing the pipelines to assembly developers. What are the challenges from a compiler writers perspective with VLIW?
CL: I can't speak to why Itanium failed (I suspect that many non-technical issues like business decisions and schedule impacted it), but VLIW is hardly dead. VLIW designs are actively used in some modern GPUs and is widely used in DSPs - one example supported by LLVM is the Qualcomm Hexagon chip. The major challenge when compiling for a VLIW architecture is that the compiler needs good profile information, so it has an accurate idea of the dynamic behavior of the program.
How much of Swift is Based on Groovy?
by Anonymous Coward
So how much of Swift was inspired by Groovy? Both come from more high-end languages and look and act almost identical.
CL: It is an intentional design point of Swift that it look and feel "familiar" to folks coming from many other languages: not just Groovy. Feeling familiar and eliminating unnecessary differences from other programming languages is a way of reducing barriers of entry to start programming in Swift. It is also clearly true that many other languages syntactically influence each other, so you see convergence of ideas coming from many different places.
That said, I think it is a stretch to say that Swift and Groovy look and act "identical", except in some very narrow cases. The goal of Swift is simply to be as great as possible, it is not trying to imitate some other programming language.
C#
by Anonymous Coward
What do you think about Microsoft and C# versus the merits of Swift?
CL: I have a ton of respect for C#, Rust, and many other languages, and Swift certainly benefited by being able to observe their evolution over time. As such, there are a lot of similarities between these languages, and it isn't an accident.
Comparing languages is difficult in this format, because a lot of the answers come down to "it depends on what you're trying to do", but I'll give it a shot. C# has the obvious benefit of working with the .NET ecosystem, whereas Swift is stronger at working in existing C and Objective-C ecosystems like Cocoa and POSIX.
From a language level, Swift has a more general type system than C# does, offers more advanced value types, protocol extensions, etc. Swift also has advantages in mobile use cases because ARC requires significantly less memory than garbage collected languages for a given workload. On the other hand, C# has a number of cool features that Swift lacks, like async/await, LINQ, etc.
Rust
by Anonymous Coward
Chris, what are your general thoughts about Rust as a programming language?
CL: I'm a huge Rust fan: I think that it is a great language and its community is amazing. Rust has a clear lead over Swift in the system programming space (e.g. for writing kernels and device drivers) and I consider it one of the very few candidates that could lead to displacing C and C++ with a more safe programming language.
That said, Swift has advantages in terms of more developers using it, a more mature IDE story, and offers a much shallower learning curve for new developers. It is also very likely that a future version of Swift will introduce move-only types and a full ownership model, which will make Swift a lot more interesting in the system programming space.
BASIC
by jo7hs2
As someone who has been involved with the development of programming languages, do you think it is still possible to come up with a modern-day replacement for BASIC that can operate in modern GUI environments?
It seems like all attempts since we went GUI (aside from maybe early VisualBASIC and Hypercard) have been too complicated, and all attempts have been platform-specific or abandoned. With the emphasis on coding in schools, it seems like it would be helpful to have a good, simple, introductory language like we had in BASIC.
CL: It's probably a huge shock, but I think Swift could be this language. If you have an iPad, you should try out the free Swift Playgrounds app, which is aimed to teach people about programming, assuming no prior experience. I think it would be great for Swift to expand to provide a VisualBASIC-like scripting solution for GUI apps as well.
Cross-platform
by psergiu
How cross-platform is Swift? Are the GUI libraries platform-dependent or independent? I.E.: Can I write a single Swift program with a GUI that will compile, work the same and look similar on multiple platforms: Linux, Mac OS, Real Unix-es & BSDs, AIX, Windows?
CL: Swift is Open Source, has a vibrant community with hundreds of contributors, and builds on the proven LLVM and Clang technology stack. The Swift community has ported Swift itself to many different platforms beyond Apple platforms: it runs on various Linux distros and work is underway by various people to port it to Android, Windows, various BSDs, and even IBM mainframes.
That said, Swift does not provide a GUI layer, so you need to use native technologies to do so. Swift helps by providing great support for interoperating with existing C code (and will hopefully expand to support C++ and other languages in the future). It is possible for someone to design and build a cross platform GUI layer, but I'm not aware of any serious efforts to do so.
Exception Handling
by andywest
Why did Swift NOT have exception handling in the first couple of versions?
CL: Swift 1 (released in 2014) didn't include an error handling model simply because it wasn't ready in time: it was added in Swift 2 (2015). Swift 2 included a number of great improvements that weren't ready for Swift 1, including protocol extensions. Protocol extensions dramatically expanded the design space of what you can do with Swift, bringing a new era of "protocol oriented programming". That said, even Swift 3 (2016) is still missing a ton of great things we hope to add over the coming years: there is a long and exciting road ahead! See questions below for more details.
Why are strings passed by value?
by Anonymous Coward
Strings are immutable pass-by-reference objects in most modern languages. Why did you make this decision?
CL: Swift uses value semantics for all of its "built in" collections, including String, Array, Dictionary, etc. This provides a number of great advantages by improving efficiency (permitting in-place updating instead of requiring reallocation), eliminating large classes of bugs related to unanticipated sharing (someone mutates your collection when you are using it), and defines away a class of concurrency issues. Strings are perhaps the simplest of any of these cases, but they get the efficiency and other benefits.
If you're interested in more detail, there is a wealth of good information about the benefits of value vs reference types online. One great place to start is the "Building Better Apps with Value Types in Swift" talk from WWDC 2015.
As a language designer
by superwiz
Since you have been involved with 2 lauded languages, you are in a good position to answer the following question: "are modern languages forced to rely on language run-time to compensate for the facilities lacking in modern operating systems?" In other words, have the languages tried to compensate for the fact that there are no new OS-level light-weight paradigms to take advantage of multi-core processors?
CL: I'm not sure exactly what you mean here, but yes: if an OS provides functionality, there is no reason for a language runtime to replicate it, so runtimes really only exist to supplement what the OS provides. That said, the line between the OS and libraries is a very blurry one: Grand Central Dispatch (GCD) is a great example, because it is a combination of user space code, kernel primitives, and more all designed together.
Parallelism
by bill_mcgonigle
Say, about fifteen years ago, there was huge buzz about how languages and compilers were going to take care of the "Moore's Law Problem" by automating the parallelism of every task that could be broken up. With single-static assignment trees and the like the programmer was going to be freed from manually doing the parallelism.
With manufacturers starting to turn out 32- and 64-core chips, I'm wondering how well did we did on that front. I don't see a ton of software automatically not pegging a core on my CPU's. The ones that aren't quite as bad are mostly just doing a fork() in 2017. Did we get anywhere? Are we almost there? Is software just not compiled right now? Did it turn out to be harder than expected? Were languages not up to the task? Is hardware (e.g. memory access architectures) insufficient? Was the possibility oversold in the first place?
CL: I can't provide a global answer, but clearly parallelism is being well utilized in some "easy" cases (e.g. speeding up build time of large software, speed of 3d rendering, etc). Also, while large machines are available, most computers are only running machines with 1-4 cores (e.g. mobile phones and laptops), which means that most software doesn't have to cope with the prospects of 32-core machines⦠yet.
Looking forward, I am skeptical of the promises of overly magic solutions like compiler auto-parallelization of single threaded code. These "heroic" approaches can work on specific benchmarks and other narrow situations, but don't lead to a predictable and reliable programmer model. For example, a good result would be for you to use one of these systems and get a 32x speedup on your codebase. A really bad result would be to then make a minor change or bug fix to your code, and find out that it caused a 32x slowdown by defeating the prior compiler optimization. Magic solutions are problematic because they don't provide programmer control.
As such, my preferred approach is for the programming language to provide expressive ways for the programmer to describe their parallelism, and then allow the compiler and runtime to efficiently optimize it. Things like actor models, OpenMP, C++ AMP, and goroutines seem like the best approach. I expect concurrency to be an active area of development in the Swift language, and hope that the first pieces of the story will land in Swift 5 (2018).
Any insight into language design choices?
by EMB Numbers
I am a 25+ year Objective-C programmer and among other topics, I teach "Mobile App Development" and "Comparative Languages" at a university. I confess to being perplexed by some Swift language design decisions. For example,- Swift is intended to be a "Systems Programming Language", is it not? Yet, there is no support for "volatile" variables needed to support fundamental "system" features like direct memory access from peripheral hardware.
- Why not support "dynamic runtime features" like the ones provided by the Objective-C language and runtime? It's partly a trick question because Swift is remarkably "dynamic" through use of closures and other features, but why not go "all the way?"
CL: These two questions get to the root of Swift "current and future". In short, I would NOT say that Swift is an extremely compelling systems programming or scripting language today, but it does aspire to be great for this in the years ahead. Recall that Swift is only a bit over two years old at this point: Swift 1.0 was released in September 2014.
If you compare Swift to other popular contemporary programming languages (e.g. Python, Java/C#, C/C++, Javascript, Objective-C, etc) a major difference is that Swift was designed for generality: these languages were initially designed for a specific niche and use case and then organically growing out.
In contrast, Swift was designed from the start to eventually span the gamut from scripting language to systems programming, and its underlying design choices anticipate the day when all the pieces come together. This is no small feat, because it requires pulling together the strengths of each of these languages into a single coherent whole, while balancing out the tradeoffs forced by each of them.
For example, if you compare Swift 3 to scripting languages like Python, Perl, and Ruby, I think that Swift is already as expressive, teachable, and easy to learn as a scripting language, and it includes a REPL and support for #! scripts. That said, there are obvious missing holes, like no regular expression literals, no multi-line string literals, and poor support for functionality like command line argument processing - Swift needs to be more "batteries included".
If you compare Swift 3 to systems programming languages with C/C++ or Rust, then I think there is a lot to like: Swift provides full low-level memory control through its "unsafe" APIs (e.g. you can directly call malloc and free with no overhead from Swift, if that is what you want to do). Swift also has a much lighter weight runtime than many other high level languages (e.g. no tracing Garbage Collector or threading runtime is required). That said, it has a number of holes in the story: no support for memory mapped I/O, no support for inline assembly, etc. More significantly, getting low-level control of memory requires dropping down to the Unsafe APIs, which provide a very C/C++ level of control, but also provides the C/C++ level lack of memory safety. I'm optimistic that the ongoing work to bring an ownership model to Swift will provide the kinds of safety and performance that Rust offers in this space.
If you compare Swift 3 to general application level languages like Java, I think it is already pretty great (and has been proven by its rapid adoption in the iOS ecosystem). The server space has very similar needs to general app development, but both would really benefit from a concurrency model (which I expect to be an important focus of Swift 5).
Beyond these areas of investment there is no shortage of ideas for other things to add over time. For example, the dynamic reflection capabilities you mention need to be baked out, and many people are interested in things like pre/post-conditions, language support for typestate, further improvements to the generics system, improved submodules/namespacing, a hygienic macro system, tail calls, and so much more.
There is a long and exciting road ahead for Swift development, and one of the most important features was a key part of Swift 3: unlike in the past, we expect Swift to be extremely source compatible going forward. These new capabilities should be addable to the language and runtime without breaking code. If you are interested in following along or getting involved with Swift development, I highly encourage you to check out the swift-evolution mailing list and project on GitHub.
Any hope for more productive programming?
by Kohath
I work in the semiconductor industry and our ASIC designs have seen a few large jumps in productivity:- Transistors and custom layouts transitioned to standard cell flows and automated P&R.
- Design using logic blocks transitioned to synthesized design using RTL with HDLs.
- Most recently, we are synthesizing circuits directly from C language.
In the same timeframe, programming has remained more or less the same as it always was. New languages offer only incremental productivity improvements, and most of the big problems from 10 or 20 years ago remain big problems.
Do you know of any initiatives that could produce a step-function increase (say 5-10x) in coding productivity for average engineers?
CL: There have been a number of attempts to make a "big leap" in programmer productivity over the years, including visual programming languages, fourth-generation" programming languages, and others. That said, in terms of broad impact on the industry, none of these have been as successful as the widespread rise of "package" ecosystems (like Perl's CPAN, Ruby Gems, NPM in Javascript, and many others), which allow rapid reuse of other people's code. When I compare the productivity of a modern software developer using these systems, I think it is easy to see a 10x improvement in coding productivity, compared to a C or C++ programmer 10 years ago.
Swift embraces this direction with its builtin package manager "SwiftPM". Just as the Swift language learns from other languages, SwiftPM is designed with an awareness of other package ecosystems and attempts to assemble their best ideas into a single coherent vision. SwiftPM also provides a portable build system, allowing development and deployment of cross-platform Swift packages. SwiftPM is still comparatively early on in design, but has some heavy hitters behind it, particularly those involved in the various Swift for the Server initiatives. You might also be interested in the online package catalog hosted by IBM.
Looking ahead, even though a bit cliche, I'd have to say that machine learning techniques (convolutional neural nets and deep neural nets for example) really are changing the world by making formerly impossible things merely "hard". While it currently seems that you need a team of Ph.D's to apply and develop these techniques, when they become better understood and developed, I expect them to be more widely accessible to the rest of us. Another really interesting recent development is the idea of "word vectors," which is a pretty cool area to geek out on. -
BitTorrent Live's 'Cable Killer' P2P Video App Finally Hits iOS (techcrunch.com)
An anonymous reader quotes a report from TechCrunch: BitTorrent has now done for live video what it did for file downloads: invented peer-to-peer technology that moves the burden of data transfer from a centralized source to the crowd. Instead of cables and satellites, BitTorrent piggybacks on the internet bandwidth of its users. Since P2P live streaming is so much cheaper than traditional ways to deliver live content, BitTorrent could pay channel owners more for distribution per viewer. And BitTorrent can offer that content to viewers for free or much cheaper than a cable subscription. The transfer technology and the app that aggregates these channels are both called BitTorrent Live. Now, almost a year after the protocol's debut on smart TVs, and six months after it was supposed to arrive on iPhone, the BitTorrent Live app quietly became available on iOS this week. Until now it's only existed on Mac, Apple TV and Amazon Fire TV -- much less popular platforms. And that's after being in development since 2009. The app features 15 channels, including NASA TV, France One, QVC Home and TWiT (This Week In Tech) that you can watch live. The latency is roughly 10 seconds, which could be faster than terrestrial cable, as well as systems like Sling TV that can delay content more than a minute. The problem right now is that BitTorrent Live has a pretty lackluster channel selection. It's still working on striking deals with more name-brand channels. It could offer some for pay-per-view, but cheaper than the same content on traditional TV due to the reduced broadcasting costs. -
Apple Will Charge You $69 To Replace a Lost AirPod (macrumors.com)
Apple's AirPods finally went on sale earlier this week after being announced in September and delayed in October. Now that people are able to actually purchase these wireless earphones for $159, many are wondering what happens if they lose an AirPod. Apple has recently updated its repair and replacement costs for AirPods on its iPhone Service Pricing Page, mentioning a $69 fee for those who need to replace an AirPod or charging case. Mac Rumors reports: Apple doesn't appear to be offering AppleCare+ for AirPods, instead providing a standard one-year warranty that's available on all Apple products. If the AirPods need service during that one year period, all work will be covered for free. After the one-year warranty has expired, Apple will charge a $69 fee for out-of-warranty service repairs. Battery service for AirPods that lose battery capacity is free during the one-year warranty period or $49 out of warranty. If you lose or damage one of the AirPods or the charging case, Apple will charge $69 for a replacement, regardless of whether or not the AirPods are still under warranty. The pricing in Apple's support document is U.S. pricing, and will vary based on country. -
Apple Will Charge You $69 To Replace a Lost AirPod (macrumors.com)
Apple's AirPods finally went on sale earlier this week after being announced in September and delayed in October. Now that people are able to actually purchase these wireless earphones for $159, many are wondering what happens if they lose an AirPod. Apple has recently updated its repair and replacement costs for AirPods on its iPhone Service Pricing Page, mentioning a $69 fee for those who need to replace an AirPod or charging case. Mac Rumors reports: Apple doesn't appear to be offering AppleCare+ for AirPods, instead providing a standard one-year warranty that's available on all Apple products. If the AirPods need service during that one year period, all work will be covered for free. After the one-year warranty has expired, Apple will charge a $69 fee for out-of-warranty service repairs. Battery service for AirPods that lose battery capacity is free during the one-year warranty period or $49 out of warranty. If you lose or damage one of the AirPods or the charging case, Apple will charge $69 for a replacement, regardless of whether or not the AirPods are still under warranty. The pricing in Apple's support document is U.S. pricing, and will vary based on country. -
Super Mario Run Is Now Available (independent.co.uk)
Nintendo's first smartphone game "Super Mario Run" is now available in the App Store across the world. The game follows the success of Pokemon Go, which launched earlier this year. Nintendo owns a third of the Pokemon Company, but the game itself was developed by Niantic. The Independent reports: But just like Pokemon Go, the game requires that anyone playing it has a connection to the internet. That's intended as a way of stopping pirates getting around the game's relatively expensive $10 price -- not required to download the game, but to unlock it -- but has already drawn some complaints. In the case of Pokemon Go, which also required that people were online, the huge popularity of the game meant that its servers regularly crashed and were sometimes intentionally taken offline. That in turn meant that the game was impossible to play for large amounts of time, since it required that same connection, as Super Mario Run will. The restriction will also mean that fans won't be able to play the game underground or on flights, or anywhere else with restricted Wi-Fi. But for the most part, the game has been hailed as a signal that Nintendo are finally bringing their nostalgia-inducing characters to a broader range of platforms and consoles. The company unveiled the game at the launch event for the iPhone 7, drawing praise for having liberated Mario and his friends and enemies from Nintendo's own consoles for the first time. You can download Super Mario Run here. -
Bose Launches 'Hearphones' That Act Like Hearing Aids (theverge.com)
Bose has launched a new pair of earbuds called Hearphones that augment the sounds of the world around you, letting you select what kinds of outside noises you'd like to listen to. "Hearphones users can also pick which direction those outside noises come from, with what appears to be specific emphasis on helping people hear voices better in crowded places," reports The Verge: A "Bose Hear" app was recently added to the App Store, and offers a little more detail about what Hearphones are capable of. You can turn the "world volume" up or down, and change the direction you're hearing those sounds from. There are preset modes like "television," "focused conversation," "airplane," "doctor's office," or "gym," all of which presumably block out different sounds from different directions while letting in things like speech. A user manual was also recently submitted to the FCC. No pricing or availability can be found anywhere on Bose's website or in the app. Here's some more from that app's description: "Innovative technologies amplify softer sounds, let you turn down the distractions in noisy environments and focus on what you want to hear -- like a conversation across the table. You can also use them as controllable noise cancelling [sic] wireless headphones for your music or calls or just for quiet. Take control of the noise, and hear the world better." -
AirPods Delay Attributed To Apple Ensuring Both Earpieces Receive Audio At Same Time (macrumors.com)
An anonymous reader quotes a report from Mac Rumors: AirPods were originally slated to launch in October, but the wireless earphones were later delayed. Apple said it needed "a little more time" before they are ready for customers, and it has yet to provide an official update since. While the exact reason for the delay remains unclear, a person familiar with the development of AirPods told The Wall Street Journal that Apple's troubles appear to be related to its "efforts to chart a new path for wireless headphones," in addition to resolving what happens when users lose one of the earpieces or the battery dies. The Wall Street Journal reports: "A person familiar with the development of the AirPod said the trouble appears to stem from Apple's effort to chart a new path for wireless headphones. In most other wireless headphones, only one earpiece receives a signal from the phone via wireless Bluetooth technology; it then transmits the signal to the other earpiece. Apple has said AirPod earpieces each receive independent signals from an iPhone, Mac or other Apple device. But Apple must ensure that both earpieces receive audio at the same time to avoid distortion, the person familiar with their development said. That person said Apple also must resolve what happens when a user loses one of the earpieces or the battery dies." -
Apple Launches Single Sign-On Service To Make Logging Into TV Apps Less Time-Consuming (macrumors.com)
Apple has launched Single Sign-on, a service designed to make logging into TV apps much less annoying. It "allows cable subscribers to sign in once with their cable credentials to gain access to all cable-restricted content in iOS and tvOS apps," writes Juli Clover via MacRumors: Single Sign-on is limited to the United States, and according to a support document, is available for the following providers: CenturyLink Prism, DirecTV, Dish, GVTC, GTA, Hawaiian Telecom, Hotwire, MetroCast, and Sling. While Single Sign-on was introduced and tested in the tvOS 10.1 and iOS 10.2 betas, the feature was remotely released today to all iOS 10 and tvOS 10 devices. Using Single Sign-on does not require one of the betas, and is instead immediately available to all iPhone and Apple TV users running iOS 10 or tvOS 10. With Single Sign-on, customers with a supported provider will use the Settings options in iOS or tvOS to sign in with their cable credentials. From then on, when accessing a supported app that requires a cable subscription, the app will ask to use the saved sign-on credentials. Most cable channels and content providers offer individual apps on the Apple TV and iOS devices, but still require cable authentication before users can access content. Prior to Single Sign-on, customers were required to enter their credentials in each individual app, a frustrating and time-consuming process. -
Apple Says Air Exposure Is Causing iPhone 6s Battery Problems (arstechnica.com)
Last month, Apple announced a repair program for a "small number" of iPhone 6s phones that suffer from faulty batteries. The phones that were affected by this fault were manufactured between September and October 2015. Two weeks later, Apple now says the fault was caused by overexposure to "controlled ambient air." Ars Technica reports: The same press release -- issued only in China so far, but available in English if you scroll down -- says that some owners of later iPhone 6S models are also reporting problems with unexpected shutdowns. Apple isn't replacing those batteries just yet, but the company says that an iOS update "available next week" will add "additional diagnostic capability" that will allow Apple to better track down and diagnose the causes of these shutdowns. It "may potentially help [Apple] improve the algorithms used to manage battery performance and shutdown," as well. Those improvements will be included in future iOS updates. Apple says that the battery problem "is not a safety issue," an important thing to note given the way the Galaxy Note 7 blew up in Samsung's face. The software update that Apple mentions in the release is almost certainly iOS 10.2, which is currently in its sixth beta build. The update will be the first major bug-fix release since October's iOS 10.1, and it also includes a handful of other changes like new and redesigned emoji, the TV app that Apple demoed at its last product event, and other features. -
Google Is Rolling Out Android 7.1.1 (engadget.com)
Google is rolling out Android 7.1.1 for Pixel and Nexus smartphones, including the Nexus 6, Nexus 5X, Nexus 6P, Nexus 9, Pixel, Pixel XL, Nexus Player, Pixel C and General Mobile 4G (Android One). You can download it over-the-air when it becomes available "over the next several weeks" or flash it yourself. Engadget details some of the new features found in Android 7.1.1: As for what you can find from a feature perspective, Google has added support for its "image keyboard" that lets you easily find and send pictures and GIFs without leaving your messaging app of choice. Google says it'll work inside of Hangouts, Allo, and the default Messaging app. Ironically enough, the feature has been available in the Gboard iOS keyboard that Google launched in the spring, but it's good to see it coming to more Android phones now. Android 7.1.1 also includes Google's latest set of more diverse emoji, specifically focused on showing a "wider range of professions" for women. And it also contains the excellent app shortcut feature that originally launched on the Pixel -- if you press and hold on an app's icon, a sub-menu of shortcuts will show up. You'll be able to quickly send a message to a specific contact or navigate to a saved location using these shortcuts, for example. They're very much like the "force touch" shortcuts found on the iPhone, but that doesn't make them any less useful. -
Apple Will Use Drones To Improve the Quality of Apple Maps (bloomberg.com)
An anonymous reader quotes a report from Bloomberg: Apple plans to use drones and new indoor navigation features to improve its Maps service and catch longtime leader Google (Warning: source may be paywalled; alternate link), according to people familiar with the matter. The Cupertino, California-based company is assembling a team of robotics and data-collection experts that will use drones to capture and update map information faster than its existing fleet of camera-and-sensor ladened minivans, one of the people said. Apple wants to fly drones around to do things like examine street signs, track changes to roads and monitor if areas are under construction, the person said. The data collected would be sent to Apple teams that rapidly update the Maps app to provide fresh information to users, the person added. Apple is also developing new features for Maps, including views inside buildings and improvements to car navigation, another person familiar with the efforts said. Apple filed for an exemption on Sept. 21, 2015, from the Federal Aviation Administration to fly drones for commercial purposes, according to documents obtained by Bloomberg News. At that time, exemptions were required to commercially operate drones. In a response dated March 22, 2016, the FAA granted Apple approval to "operate an unmanned aircraft system to conduct data collection, photography, and videography," according to one of the documents. Apple's application told the FAA that it would use a range of drones sold by companies such as SZ DJI Technology Co. and Aibotix GmbH to collect the data. Apple has hired at least one person from Amazon's Prime Air division to help run the drone team, one of the people said. -
iOS 10.1.1 Is Causing Battery Issues For Many iPhone Users (itwire.com)
An anonymous reader writes: A recent iOS update to 10.1.1 fix Apple's Health application has had unintended consequences for many users -- shutdown at 30% battery remaining and lack of audio using Apple Earpods. Users on an Apple forum report that the battery indicator jumps from 30% to 1% (dubbed the 30% bug) and a reboot is required where the phone then runs for a few more hours. Some have taken the iPhone back to receive a replacement only to find the same thing happens. Apple has not responded to the 11 pages of forum complaints but apparently, Genius Bar staff have identified unusual discharging of the battery -- which does not make sense if a reboot temporarily fixes the issue and returns the battery indicator to 30%. It also appears to affect all versions of iPhone that support iOS 10.x. -
Has The 'Hour of Code' Turned Into a Giant Corporate Infomercial? (theregister.co.uk)
It happens every December. During "Computer Science Education Week," schools around the world dedicate a special hour towards getting kids excited about programming. But theodp writes: With Microsoft, Apple, and Google vying for the opportunity to put their products in front of tens of millions of K-12 students, The Register's Andrew Orlowski opines that the Hour of Code is turning into a giant corporate infomercial for kids. "Parents, such as the late Steve Jobs, tend to ration their children's use of technology," notes Orlowski. "But would Jobs, who consistently praised the value of broad liberal arts, approve of an hour of [Microsoft] Minecraft? It's doubtful." Google, he adds, is keen on dishing out its VR headsets to students and, not to be undone, Apple is also muscling in with an hour of code [and offering free workshops at Apple Stores].
This year Microsoft is even introducing a special online 'Hour of Code' edition" of Minecraft, according to the article, which points out that last year 31 million schoolchildren just spent their "Hour of Code" playing Minecraft. -
Apple Is Working With LG On Next-Gen 3D Camera For 2017 iPhone, Says Report (9to5mac.com)
An anonymous reader quotes a report from 9to5Mac: A brief report in The Korea Economic Daily claims that Apple is working with LG on a new dual camera module "which enables 3D photographing." LG already supplies the dual-camera module used in the iPhone 7 Plus. The LG Innotek system is said to be destined for one or more of next year's iPhone models, but the report is unclear what 3D applications Apple might have in mind. Apple has patents for 3D object and gesture recognition going back many years. However, it is likely nothing more than the next generation of Portrait Mode, which uses parallax effect to create a 3D model of a scene in order to identify foreground and background in what is captured by the twin cameras. Apple may be aiming to bring Portrait Mode to all iPhone models next year, which would require a more compact dual-camera module. -
Apple Releases macOS 10.12 Sierra Open Source Darwin Code (9to5mac.com)
An anonymous reader writes:Apple has released the open source Darwin code for macOS 10.12 Sierra. The code, located on Apple's open source website, can be accessed via direct link now, although it doesn't yet appear on the site's home page. The release builds on a long-standing library of open source code that dates all the way back to OS X 10.0. There, you'll also find the Open Source Reference Library, developer tools, along with iOS and OS X Server resources. The lowest layers of macOS, including the kernel, BSD portions, and drivers are based mainly on open source technologies, collectively called Darwin. As such, Apple provides download links to the latest versions of these technologies for the open source community to learn and to use. -
Microsoft Solitaire Collection From Windows 10 Now Available For Android and iOS (betanews.com)
BrianFagioli quotes a report from BetaNews: Back in the the mid-1990's, everyone thought they needed a computer. After all, Windows 95 made using one particularly easy, and the internet was a very attractive thing. Unfortunately, once some people got their first-ever PC set up in their homes, they didn't really know what to do with it. In the end, it would turn out that some consumers spent thousands of dollars for a machine dedicated to one thing -- playing Solitaire! Yes, this fun Windows game is responsible for much wasted time, but not just at home -- at businesses too. The card game has historically been viewed as a negative for productivity. Fast forward to 2016 and fewer people are sitting in front of large desktop computers at home -- people are increasingly turning to tablets and smartphones for entertainment. Today, just in time for Thanksgiving, Microsoft Solitaire Collection comes to both Android and iOS. "Microsoft Solitaire continues to be one of the most-played games of all time on Windows for more than 25 years. What's more, the version of Solitaire you know and love on Windows 10 and Windows 8 PC and mobile devices, Microsoft Solitaire Collection, has reached more than 119 million unique players in the last four years alone! And now, those on iPhone, iPad and Android devices can play the popular card game for free," says Paul Jensen, Studio Manager of Microsoft Casual Games. "[...] with Xbox Live integration, you can sign in with your Xbox Live gamertag or Microsoft account to earn Xbox Live achievements and Gamerscore, compete with friends, and continue playing on any Windows 10, iPhone, iPad, or Android device while on the go since your progress and game data are saved in the cloud. If you're not an Xbox Live member, signing up for a free membership through the game is easy and totally worth it." It's worth noting that the "freemium" model features advertisements, but players can go "Premium" to remove those ads for $2 per month and receive other perks. You can download Microsoft Solitaire Collection from the App Store, Google Play, and Windows Store. -
Apple Launches 'Touch Disease' Repair Program For iPhone 6 Plus (macrumors.com)
Apple has ignored one of the biggest problems plaguing iPhone 6 Plus devices -- until now. The company today launched a new "Touch Disease" repair program for the iPhone 6 Plus, finally addressing complaints about a hardware defect that causes the display of the devices to become unresponsive to touch, or less responsive overall. If you have an iPhone 6 Plus that is affected by this defect, you will be able to have your device fixed for a service price of $149. You will be reimbursed by Apple if you paid more than $149 to have your device fixed before the repair program was implemented. MacRumors provides some extra details: Complaints about the iPhone 6 Plus touchscreen issue started in August, after iFixit published a video highlighting the bug and dubbed it "Touch Disease." Touch Disease presents as a gray flickering bar at the top of the screen and a display that becomes unresponsive or less responsive to touch. The problem is believed to be caused by the touchscreen controller chips soldered to the logic board of the phone, making repairs difficult. Third-party repair outlets speculated that the issue could be linked to the same structural design flaw that caused the major "Bendgate" controversy, and Apple's suggestion that it is caused by repeated physical damage seems to confirm that. Customers who have an iPhone 6 Plus with Multi-Touch issues can visit an Apple Authorized Service Provider or an Apple retail store to see if they qualify for the $149 repair fee. -
Mozilla Launches Firefox Focus, a Stripped-Down Private Browser For iOS (venturebeat.com)
Krystalo quotes a report from VentureBeat: Mozilla today launched a new browser for iOS. In addition to Firefox, the company now also offers Firefox Focus, a browser dedicated to user privacy that by default blocks many web trackers, including analytics, social, and advertising. You can download the new app now from Apple's App Store. If you're getting a huge feeling of deja vu, that's because in December 2015, Mozilla launched Focus by Firefox, a content blocker for iOS. The company has now rebranded the app as Firefox Focus, and it serves two purposes. The content blocker, which can still be used with Safari, remains unchanged. The basic browser, which can be used in conjunction with Firefox for iOS, is new. Firefox Focus is basically just an iOS web view with tracking protection. If you shut it down, or iOS shuts it down while it's in the background, the session is lost. There's also an erase button if you want to wipe your session sooner. But those are really the only features -- there's no history, menus, or even tabs. -
Apple Releases $300 Book Containing 450 Photos of Apple Products (theverge.com)
Apple has a reputation for releasing "revolutionary" products that carry higher price tags than competing products. Today, the company hasn't made that reputation any better as it has released a "$299 coffee table book" that contains 450 photographs of Apple products. The Verge reports: It's a hardcover edition, bound in linen, and is available in two sizes: $199 for a smaller 10.20" x 12.75" version, and $299 for a larger 13" x 16.25" edition. The book is simply titled Designed by Apple in California -- a name that somehow manages to be both humble and incredibly pretentious at the same time. The photos inside are all new images shot by Andrew Zuckerman, and will show off 20 years of Apple design "in a deliberately spare style." In a press statement, chief designer Jony Ive described the book as "a gentle gathering of many of the products the team has designed over the years," and hoped that it would serve as a "resource for students of all design disciplines." The book is published by Apple itself, and is dedicated to the memory of Steve Jobs. It is, undeniably, an act of corporate vanity publishing on an impressive scale, but it's one Apple deserves to get away with more than pretty much any other tech company. No one denies that when it comes to industrial design, Apple earns the praise it gets. That aside, though, the book's publication does show a certain amount of self-interest, navel-gazing, and even arrogance from Apple -- themes that were also present in September's unveiling of the new MacBook Pros. It's all very well to feel proud of the successes of the past, but we'll be interested to see if the company can justify releasing another such book 20 years from now. -
Shazam Keeps Your Mac's Microphone Always On, Even When You Turn It Off (vice.com)
An anonymous reader quotes a report from Motherboard: What's that song? On your cellphone, the popular app Shazam is able to answer that question by listening for just a few seconds, as if it were magic. On Apple's computers, Shazam never turns the microphone off, even if you tell it to. When a user of Shazam's Mac app turns the app "OFF," the app actually keeps the microphone on in the background. For the security researcher who discovered that the mic is always on, it's a bug that users should know about. For Shazam, it's just a feature that makes the app work better. Patrick Wardle, a former NSA hacker who now develops free Mac security tools, discovered this issue thanks to his latest software OverSight, which is designed to alert users when apps use their webcam and microphone. After he released OverSight, Wardle received an email from a user who noticed that the security app alerted him that Shazam was still listening even after he had switched the toggle to "off." Curious about this discovery, and worried his own software might be issuing a false alarm, Wardle reverse engineered the Shazam app to figure out what was happening. After a few hours analyzing the code, Wardle found out that, in fact, Shazam never stops listening, as he explained in a blog post published on Monday. James Pearson, VP of global communications for Shazam, said in a statement to Motherboard: "There is no privacy issue since the audio is not processed unless the user actively turns the app 'ON.' If the mic wasn't left on, it would take the app longer to both initialize the mic and then start buffering audio, and this is more likely to result in a poor user experience where users 'miss out' on a song they were trying to identify." -
Instagram Brings Mentions, Links, and Boomerang To Stories (mashable.com)
Instagram Stories will soon be receiving several big new features that will help users build "deeper connections" and "tell a richer story." An update rolling out Thursday will bring mentions, links and Boomerang support to Stories. Mashable reports: With the update, users can tag accounts within their Stories just like they'd tag accounts in a photo or video post. When an account is tagged in a Story, tapping their username will link to their account page. Interestingly, unlike photo tagging, being tagged in a Story will notify you within a direct message with the person who tagged you (if a friend tags you in a normal photo post, the notification will appear in your main activity feed.) Tags aren't the only new way you can interact with Stories. Instagram is also adding the ability to link to web pages within Story posts -- for verified account holders. (Instagram says this feature is for verified accounts only for now since it's still a test but that could change at some point in the future.) Finally, the app is integrating Boomerang -- Instagram's app for one-second videos -- directly into Stories. What's more, Instagram's built-in version of Boomerang will have a couple of features not part of the main app, like the ability to switch between the front and rear-facing camera and the ability to capture a shorter clip. -
Apple Now Sells Refurbished iPhones (9to5mac.com)
In the past, Apple has only sold refurbished Macs, iPads and various niche devices on its refurb store. Now the company is officially selling refurbished iPhones, offering the iPhone 6s and iPhone 6s Plus in its refurb store. 9to5Mac reports: Apple has sort of sold refurbished iPhones before, but those sales were relegated to an eBay store front and never fully acknowledged by the company. This is the first time that the company has offered iPhones on its official refurb store online. Customers will find the iPhone 6s in 16 GB storage varieties for $449.00. The larger iPhone 6s Plus is being offered in two storage varieties: 16Gb and 64GB for $529 and $589, respectively. It seems that all colors are currently available, which includes Silver, Space Gray, Gold, and Rose Gold. In the end, users can expect to save up to 15% ($110) by going the refurbished route, and remember that these devices come with a full 1-year factory warranty, which makes refurb units a great idea for budget-conscious shoppers. It's also worth noting that all of Apple's official refurbished iPhones are unlocked and come SIM-free, plus they all include a brand new battery and outer shell. It's as close to a new iPhone as you'll get without actually buying one brand new. -
Apple Now Sells Refurbished iPhones (9to5mac.com)
In the past, Apple has only sold refurbished Macs, iPads and various niche devices on its refurb store. Now the company is officially selling refurbished iPhones, offering the iPhone 6s and iPhone 6s Plus in its refurb store. 9to5Mac reports: Apple has sort of sold refurbished iPhones before, but those sales were relegated to an eBay store front and never fully acknowledged by the company. This is the first time that the company has offered iPhones on its official refurb store online. Customers will find the iPhone 6s in 16 GB storage varieties for $449.00. The larger iPhone 6s Plus is being offered in two storage varieties: 16Gb and 64GB for $529 and $589, respectively. It seems that all colors are currently available, which includes Silver, Space Gray, Gold, and Rose Gold. In the end, users can expect to save up to 15% ($110) by going the refurbished route, and remember that these devices come with a full 1-year factory warranty, which makes refurb units a great idea for budget-conscious shoppers. It's also worth noting that all of Apple's official refurbished iPhones are unlocked and come SIM-free, plus they all include a brand new battery and outer shell. It's as close to a new iPhone as you'll get without actually buying one brand new. -
Apple Shared User Data With Governments, Says WikiLeaks Email (dailydot.com)
"Please know that Apple will continue its work with law enforcement," reads an email from Apple's vice president of Environment, Policy and Social Initiatives, who reports directly to CEO Tim Cook, according to new documents this week on WikiLeaks. An anonymous reader writes: In the email the Apple executive writes "we work closely with authorities to comply with legal requests for data that have helped solve complex crimes. Thousands of times every month, we give governments information about Apple customers and devices, in response to warrants and other forms of legal process. We have a team that responds to those requests 24 hours a day." The email was addressed to Clinton campaign chairman John Podesta.
But the context is missing, and could show a larger attempt to soften Hillary Clinton's position on encryption. While Jackson writes that at Apple, "We share law enforcement's concerns about the threat to citizens," she later writes "Strong encryption does not eliminate Apple's ability to give law enforcement meta-data or any of a number of other very useful categories of data."
The email also compliments Clinton for her "principled and nuanced stance" on encryption in a December debate against Bernie Sanders. Clinton had said "maybe the backdoor is the wrong door, and I understand what Apple and others are saying about that. But I also understand, when a law enforcement official charged with the responsibility of preventing attack...well, if we can't know what someone is planning, we are going to have to rely on the neighbor... I just think there's got to be a way, and I would hope that our tech companies would work with government to figure that out." -
Apple Says It's Out of the Standalone Display Business (macrumors.com)
The launch and marketing push of the 27-inch 5K UltraFine Display made in partnership with LG all but confirms that Apple is out of the standalone display business. Previously, it was rumored Apple was working on its own branded Thunderbolt Display powered by an integrated GPU, but with the launch of LG's display it appears to indicate Apple gave up those plans. The Verge's Nilay Patel also confirms the news, tweeting: "Good notes by @jsnell. I can add that Apple told me it's out of standalone display biz." 9to5Mac reports: The two new LG displays, which will be available later this year, feature Thunderbolt 3 connectivity for an easy one-cable-solution for new MacBook owners. Apple will sell both displays, a 4K model for $699.95 and a 5K model for $1299.95, on its online store. Back in June, Apple officially discontinued its lone company-branded monitor, the Thunderbolt Display, after it had languished for a period of time without a substantial update. Apple's statement on the discontinuation made it appear as if it may be the last of the Apple-branded display, and this has been seemingly confirmed: "We're discontinuing the Apple Thunderbolt Display. It will be available through Apple.com, Apple's retail stores and Apple Authorized Resellers while supplies last. There are a number of great third-party options available for Mac users," said an Apple spokesperson. -
Apple's New MacBook Pro Requires a $25 Dongle To Charge Your iOS Device (networkworld.com)
An anonymous reader quotes a report from Network World: As Phil Schiller explained during today's event, Apple's new MacBook Pros feature four Thunderbolt 3 USB Type-C ports, and conveniently, each of these can be used to charge the machine. Now, USB-C is incredibly versatile, and Apple will use the advanced port for power charging, HDMI and much more. However, with USB-C the only game in town, you might reasonably be wondering: How in the world do I connect my iPhone to my sleek new MacBook Pro? The frustrating answer is that you won't be able to do so out of the box. Instead, you'll have to buy a dongle. This is especially frustrating because many people use their notebooks for a) charging purposes when an outlet isn't necessarily handy and b) for transferring photos and other data. Now, you might reasonably state that you can just rely upon the cloud for items like data transfer, but there's no getting around the fact that Apple's efforts in the cloud still leave much to be desired. How much will it cost to connect your iPhone to your brand new MacBook Pro? Well, Apple sells a USB-C to Lightning cable on its website for $25. While this is undoubtedly frustrating, we can't say that it's entirely unexpected given Apple gave us a preview of its preference for USB-C when it released its 12-in. MacBook last year. Still, it's a funky design choice for a decidedly Pro-oriented device where the last thing a prospective consumer would want to do is spend some extra cash for a dongle after spending upwards of $2,399. Lastly, while we're on the topic of ports, it's worth noting that the new MacBook Pros also do away with the beloved MagSafe connector. -
Delta Now Lets You Track Your Baggage In Real-Time (thenextweb.com)
Let's face it, tracking down a lost bag at the airport is a pain-in-the-ass. While airlines will often compensate you with money and new clothes for your troubles, the experience is certainly not pleasant. Delta is now attempting to further reduce the number of lost bags through its real-time luggage tracker in the latest version of its mobile app. The Next Web reports: The feature apparently cost $50 million to build. It allows you to see where your stuff is -- provided that it's at one of the 84 airports that support Delta's new tracking tech. Here's how it works. All bags will get a Radio Frequency Identification (RFID) tag. This allows Delta to track them in real-time using radio waves. Scanners positioned throughout the baggage system will allow Delta to monitor where the bag is, and relay that information to the passenger. Delta has traditionally been one of the best airlines when it comes to handling baggage. During 2012, it lost only 200,000 bags. That sounds like a lot, but bear in mind it carried 98 million passengers during the same period. You can try the feature on your next Delta flight by grabbing the app from Google Play and the App Store. -
Apple Has Created 'Detailed Mockups' of iMessage For Android (macrumors.com)
One of the biggest features on iOS that isn't available on Android is iMessage, an instant messaging service that allows users to send information over Wi-Fi, 4G LTE, and other forms of internet access to other iOS or OS X users. Earlier this year, there were been rumors swirling around the possibility of the service coming to Android due to Apple's increased focus on services, "which means opening up certain avenues beyond its own iOS and OS X platforms." Today, Daring Fireball's John Gruber has added fuel to the fire by mentioning that he's "heard from little birdies" that a handful of "detailed mockups" of iMessage for Android have been shared around Apple. MacRumors reports: The user interface of the Android app is said to have gone through numerous designs, from one that looks identical to the version on iOS, to another that has a "pure Material Design," using Google's design language it developed a few years ago. Gruber still thinks iMessage on Android "might happen sooner or later," mainly because of iMessage's new monetized Messages App Store, which could net Apple increased income in its already profitable services category if it translated the app to Android. Apple undoubtedly created mockups for all types of products and services, the vast majority of which never make it to release, and it's unclear exactly how far along the iMessage for Android preliminary designs were at the time of their circulation through Apple, or when exactly that occurred. Still, Gruber notes that while an Android version of iMessage "may never see the light of day," even the existence of such mockups "strongly suggests that there's no 'of course not' to it."