Apple’s WWDC kicked off today, with the usual keynote address. Apple unveiled OS X 10.10 Yosemite and iOS 8 – packed with new features, but I can’t detail all of them. There’s a lot of catch-up going on here with the competition, but even so, they’re still great features for iOS users. In fact, I would go as far as to say that iOS 8 may provide a pretty convincing argument for a number of Android users to come back to iOS – especially combined with all the other new features.
For instance, iOS is finally getting a form of Android-like inter-application communication called Extensions. The implementation details will differ, of course, but essentially, iOS is getting Android’s Intents for a far more seamless multitasking-like user experience. For applications updated to support Extensions, you no longer have to jump in and out of applications; instead, one application can call up specific parts of another. Similarly, iOS will also finally allow third party keyboards for those of us who don’t like the default iOS keyboard. Apple is also opening up the notification tray to third party widgets.
An area where Apple is not playing catch-up but is clearly ahead of the game is a set of features that personally impressed me the most about iOS: Continuity. Essentially, using Bluetooth and proximity information, your iPad/iPhone and Mac can work together to a far greater (and easier) degree than ever before. For instance, an incoming call on your iPhone automatically pops, and can be answered, through your Mac. Working on a Keynote document on your iPad? Keynote on the Mac will notify you of it, allowing you to easily pick up where you left off on your iPad – and vice versa.
There’s tons of other examples, and I’m really excited about its potential. To me, this approach to bridging the gap between PC and mobile seems far more useful than Microsoft’s one-operating-system-for-all approach. Coincidentally, it highlights Google’s problem of not being in control of a major PC operating system.
OS X 10.10 Yosemite is intriguing. It constitutes a complete visual overhaul of OS X, with a lot of blurred transparency, iOS-like visuals, and a sidebar full of widgets. Some of the language used regarding the blurred transparency and the sidebar were the exact same words used by Microsoft for Aero and the Vista sidebar, but overall, I’m really liking the new design. It’s a fantastic step forward from a design that, in my view, had become quite stale and messy, to a more unified set of visuals and UI elements that, at least on the stream looked absolutely fantastic – especially in the new ‘dark mode’, which replaces the white with blacks.
All the above (plus the huge amount of stuff I haven’t mentioned) would be more than enough for a really strong keynote, but Apple had one more major trick up its sleeve – and for the developers among you, this is a big one: Apple introduced Swift, a new programming language set to replace Objective-C. Apple claims – of course – that it will be faster and easier than Objective-C, but we’ll need proper hands-on from developers to substantiate those claims. It’s a huge deal, though: Apple essentially just introduced the way forward for its developers, after twenty years of Objective-C. And nobody saw it coming.
All in all, this keynote was Apple at its very best, in optima forma, showing a set of improvements, new features, and new products that really constitute major steps forward for Apple’s ecosystem. iOS still can’t grab my attention in any meaningful way (too little, too late), but OS X 10.10 is shaping up to be a fantastic (free!) update, and I can’t wait to pull my 2012 iMac out of storage and try it out.
That being said – all the amazing stuff Apple showed today made one distinct part of the keynote stand out like a bright yellow Lumia in a unitary sea of grey iPhones: the competition bashing. The bashing has reached such a low point this year that Tim Cook had to resort to flat-out lying to smear Android. Not only did Cook lie about Android version adoption rates, he also trotted out the baseless scaremongering from anti-virus peddlers about malware writers focusing on Android. Sure, those people target Android – but Android is so secure that despite all this effort from malware makers, their results are absolutely laughable.
With such an incredibly strong showing, the bashing stood out more than usual, especially because many of the features and improvements demonstrated by Apple today consist of things the competition has been enjoying for years. All this bashing detracted from the amazing work done by Apple’s engineers, and simply wasn’t necessary.
Strong showing marred by unnecessary pettiness.
Isn’t that what has entirely defined Apple the last 10 years?
It’s arguably gotten worse since Jobs passed, even though he was known to be petty and vindictive too. I’ve always said I detest Apple as a company but love their OSes and admire their designs. That pettiness is a huge part of why I don’t like them.
I wonder how you feel about Samsung and Microsoft then, since their entire advertising campaigns of late seem to reek of pettiness.
Pretty much the same. It’s a very short list of tech companies I like, and they are all underdogs.
I’m hoping the whole EVERYTHING MUST BE FLAT! fad goes away soon. It’s not a surprise however, I expected no less from 10.10… sigh…
What I AM curious about is Swift, looking forward to trying it.
https://developer.apple.com/library/prerelease/ios/documentation/Swi…
Looks like it’s got hard typing for variables, but support for templated… oh sorry I mean ‘generic’ functions. Gotta say though,
it’s one of the best documented new languages I’ve seen in a while.
A lot of Swift’s features seem to be inspired by Haskell, like functional patterns, pattern matching and type inference
To me it looks a lot more like Javascript syntax without the parentheses. Which is something a lot of Javascript variants do.
Var, Let, arrows, Func. Someone had a look at the newer ECMAScript or what it was inspired by and implemented a large part of that.
It may look like JS, but fortunately it doesn’t quack like one.
Well, the funny thing is, Swift is a new syntax for Objective-C. You don’t think it’s interesting they made of the same choices as Javascript.
And I don’t know, forgot right now, where Go got it’s Func from, but they used that too.
Edited 2014-06-03 06:29 UTC
Would not surprise me, as quite a few web monkeys seems to be using Mac these days.
OSX gets fuglier with every release i think. Wonder what they will come up with once it is all 2D, further reducing it down to a 1 dimensional UI?
Will it be either height or will it be width? Only apple will know, and they will probably call it “revolutionary” and it will be obsoleted only when they design a colourless even better 0D UI without any interface elements at all that might confuse you (or do any work).
All you will need is a single application without any controls or interface options that does everything the device can handle whatever that might be.
Swift got to be by far the most interesting new thing about this year.
It doesn’t surprise me too much that they finally introduced a new language – they have been trying to improve the syntax for Objective C for years.
I only shortly looked at the initial example, but from what I could tell it looks quite a lot like Objective C once you remove the awful smalltalk (or wherever it came from) syntax. The one that ObjC uses when you call or define Objective C objects. It literally took me months to get used to reading and writing that syntax.
I wonder if this new language is ABI compatible with Objective C in a way that you do a slow painless migration from one to the other. If it is, then Microsoft should pay attention.
Check the stream, around minute 107 they clearly state that you can mix-and-match Objective-C & Swift in the same application, so it seems the answer to your ABI question is a yes.
Yes it. You can even put objective c flies and swift files in the same X-Code project.
]{
I actually quite enjoy that part of Objective-C. It allows one to read the code as pretty much a sentence and makes it unnecessary to do nonsense such as function overloading.
You must be a slow learner then. I got the hang of it in one afternoon.
It isn’t the feature itself or how ObjC objects work. It is the way they chose to use a syntax completely alien to how C calls functions or lists arguments. It could have looked like this:
viewController(viewDidAppear: view, animated: true);
You also see how they in later iterations of the language tried to improve on the syntax by allowing a C# style way of dotting yourself into getting or setting properties.
Good for you. Virtually all the current mainstream language designers (C++, Java, Javascript, C#) learned the lesson long time ago that if you want people to use your language, you better make sure existing developers can read it effortlessly. Seems like the Swift designers understand that as well.
Wow, so changing ‘[]’ into ‘()’ and moving the opening brace until after the object you want to message (and adding a useless comma) somehow makes it a lot more comprehensible?
No, that was simply because traditionally Objective-C didn’t have properties as a first-class construct and when they finally did add them, they figured using the C struct access syntax would kinda make sense.
No. The first language to use the syntax you consider holy was C++ and it simply did it for the kinda obvious reason that function pointers in structures are how the feature was literally implemented under the hood, so they just reused the syntax. Since then, Java, Javascript and C# have all just gone on to copy C++ for no good reason other than tradition. Also, Objective-C was developed concurrently with C++ and its object model was radically different.
Objective-C’s syntax would seem more natural if your brain hadn’t been rotted by C++’s crazy implementation-derived prefix syntax. Humans don’t naturally think in prefix. Just look at how we write arithmetic.
I must admit, I’ve looked quickly at the docs too, and didn’t see how the following type of Obj-C method would map:
The message signature would be registered with the runtime as:
importDocumentWithName:withSpecifiedPreferences:beforePage:
and the call would be something like:
[instance importDocumentWithName: x withSpecifiedPreferences: y beforePage: z];
That is probably the biggest stumbling block in any language that attempts to wrap/integrate with the Objective-C runtime. Most end up with something like:
void importDocumentWithName_withSpecifiedPreferences_beforePage(NSString* name, Preferences* prefs, int insertPage)
Which is quite ugly really.
Also – they seem to talk about “methods” not “messages”, which would sort of suck to lose.
The proliferation of programming languages is not something new, but it is becoming awful as every big corp is touting its own set of languages.
Of course any good programmer should be able to learn several languages, but the multiplication of incompatible libraries, dev tools, ecosystems is crazy.
As you say, this is nothing new. It goes back to the early computing days when each OS vendor created their own language.
It just calmed down in the last two decades, as UNIX spread into the enterprise taking C along, followed by C++ and Java for everything at some universities.
Thankfully that trend seems to be now gone.
More important is killing the C part in terms of code unsafety.
I suspect C will always have a place for “close to metal” programming. But userspace, in particular network facing, code should probably have adopted something different long ago (and no, C++ is not different enough).
Thankfully it at least on its way out on Windows, with Microsoft focusing on pure C++ instead.
I personally wouldn’t call Swift a new language… I mean technically it is a new language, well because it is a language and it is new. But if you squint at it hard you can see what they did there…
It is a new syntax for a pretty old language (Objective C). All of Objective C’s bells and whistles are still there, its still a real compiled language, and its almost completely inter-operable with Obj C (in both directions). There are a few new things, but mostly it is just Objective C with (thankfully) sane syntax.
I would normally side with you as far as the “oh gosh, not another fricken’ language” sediment – but in this case I think it was sorely needed. Objective C is a battle-tested workhorse of a language with a rather unique feature set – but it is also ugly as f*ck… Maintaining it’s heritage as a superset of the C language was just making it get uglier.
No amount of dot notation or grafted on syntax sugar could ever really make it pleasurable to read – because it had to still be able to compile straight C code and they were running out of ways to keep the two languages syntactically unambiguous – which is frankly why it is so ugly.
Relegating Objective C to the task of wrapping C/C++ code and coming up with a new syntax for doing everything else was a good idea. Kudos Apple.
This is exactly what I hope it is and what I meant with ABI compatible (clumpsy words of mine). If successful, it just might spawn a new trend where C family languages are extended in ways that are more compatible with the type systems they are built upon.
For example, contrast this approach to something like C++/CLI which effectively abandoned C++ destructors and templates because they aren’t compatible with garbage collection and the CLR type model. The end effect was that while C++/CLI files could also technically co-exist in the same project as ordinary C++ files, the two type systems collided all the time and it was a nightmare to use it even for simple binding code.
C++/CX and now this Swift (based on your description – hope it is right ) seems to take a different approach to the problem. I can’t wait to see how it plays out!
It’s a new language. There are a lot of new things in there. I can’t really discuss these (NDA), but I can see many features that enable functional patterns. I see numerous similarities with Scala too.
Edit: Actually we should be able to discuss Swift. Apple’s released the reference guide to the public.
Edited 2014-06-03 01:46 UTC
I wasn’t trying to imply otherwise, just stressing that it isn’t a “throw everything away and start over” kind of scenario. They obviously added quite a few new things, but it is still the same conceptually as Objective C – down to sharing the same runtime. The new features are surely nice, but getting rid of the baggage of being a superset of C is the big deal to me.
EDIT: I would use some of the functional aspects of the language as illustrations of my point. While you certainly could have added some of that stuff to Objective C, it would have been extremely challenging to figure of a way to express any of it clearly without stepping on existing syntax. I think at this point they have overloaded every symbol on the keyboard in Objective C…
Edited 2014-06-03 02:03 UTC
Yep, Objective-C was getting a bit crufty. It was about time.
Like you said, it’s still not quite a clean slate implementation though. They can’t do that and still keep the Cocoa / Cocoa Touch frameworks.
Maybe I’m just starting to go blind, because of things like JSON, but it looks very Javascript-like (the newer versions of ECMAScript uses var and let) to me. And parenthesis removed like many Javascript variants do.
With some Go (Func) thrown in.
The original Rust designer thinks that Swift may have borrowed heavily from Rust too: http://graydon2.dreamwidth.org/5785.html. If Swift works well it will have been quite an achievement. A modern language that manages to work well with the existing frameworks. I was hoping for something more functional, but maybe that will come with time.
Glancing over at Android Studio, I wince at the thought of going back to Java. Heck, even the crufty Objective-C was more enjoyable than Java. Google needs to do something about this. Scala will do just nice.
Java would be quite alright if Google hadn’t forked it.
Now we are at Java 8, without any idea when it will ever be supported in Android handsets.
Java 7 is only fully available on 4.4 devices, thanks to the update mess caused by OEMs. So one is forced to write Java 6 code if lower versions are to be supported.
I am curious to see what will be shown about ART in the Google IO.
Since I care mostly about graphics programming, I can happily use C++11 instead. But that is not an option for standard Android applications, given its second class treatment by Google.
I wouldn’t be surprised if it is more hidden functional like Javascript is.
The discussion he linked to mentioned all these languages as well:
– Ceylon
– Vala
– Scala
– Rust
– C#
– Lua
– Javascript/ECMAScript
http://www.reddit.com/r/rust/comments/274zgm/swift_a_new_programmin…
I guess there is something recognizable for everyone ? 😉
My first response to the “let” syntax was something about BASIC – so apparently yes.
(Though I don’t think any BASIC I’ve used had a variable/constant separation, or at least didn’t use var/let to disambiguate them).
You can’t discuss Swift? There is a free book about it on the iBooks store. I am pretty sure your no longer under NDA.
Yeah, I realised this after my original post. See my edit.
The extensibility API will also be available to Mac OS X developers, which will probably be an upgrade from Services.
As a side note, Yosemite’s Notification Centre feels very similar to Vista’s sidebar
Edited 2014-06-02 21:29 UTC
Even if Swift was a surprise, I’m not surprised that it displays functional behavures such as first class functions… More and more languages does this these days, even old Java tries to be functional. aTo the children that grow up today Object oriented programming will feel just as old and outdated as procedural styler programming did to most of us when we were young
What about those of us that learned spaghetti code, before learning procedural coding?
Big grey beards we have.
It looks very object-oriented to me, reminiscent of Smalltalk if not in syntax. For example map being a method instead of a function that only operates on lists.
I quickly looked through the Swift guide. Nothing really exciting, but I like the conciseness of it’s optional feature and also the optional chaining. I think Rust should adopt maybe even exactly this syntax. Behind the scenes it could still work exactly like it does today, it would just be nice to have that syntax.
Edited 2014-06-02 22:44 UTC
I was vert glad Tim Cooke was on stage so little, a tediously wooden presenter but great CEO, and very glad to see so much of Craig Federighi who genuinely appears to enjoy these things and is fun to watch.
I thought that Metal could turn out to be of huge significance, my first thought was that it reminded me of DirectX. If the the A7 can run 3D graphics like that already then the next Apple TV could offer gaming performance as good as consoles and, especially combined with an Apple TV app ecosystem, that could be very big.
I thought overall it was an impressive WWDC. Now I wonder what goodies Apple in the pipeline for later in the year.
Worth noting is OSX 10.10 is the second consecutive release that doesn’t drop support for any hardware – anything that runs 10.8 will run 10.10.
I believe that’s because the base hardware has matured to a point that they simply don’t need to drop support. I have a Core Duo Mac mini that isn’t supported beyond 10.6 because it’s a 32 bit architecture. Even with a 64-bit CPU upgrade, it wouldn’t run 10.7 or higher* because it would still need hybrid 32/64 support in the OS. Any Apple hardware that can run 10.7+ is already fully 64-bit.
*Yes, I know you can unofficially run 10.7 on a Core Duo mini or MacBook if you upgrade to a 64-bit CPU, but that also involves a modified kernel and EFI to get the OS to boot, rendering it a bastardized and unstable 32/64-bit environment, with video driver issues to boot.
Not true. My Mac Mini has been running stock 10.7.x since I upgraded the cpu to a 64bit one. You only need to delete one file on every OS update that checks for compatible hardware and prevents boot up otherwise everything runs as it should. Lion runs in 64/32 bit modes and has 32 bit drivers for the integrated 915 gpu. You only need to worry about 10.8.x as that is a fully 64bit OS with no 32bit fallback after DP1.
You can also flash the Mac Mini firmware to trick it into thinking it is a Mac Mini 2,1 rather than a 1,1 as the logic board is identical, in order to raise the RAM limit from 2GB to 4GB. No stability issues whatsoever.
If you have to delete files to make it work, it’s not stock.
Anyway, I was referring to methods tried by other Mac users in various forums; I’ve tried it all and never have gotten my mini to boot anything beyond 10.6 reliably; maybe I’m the problem, but what I posted comes from other people so who knows? I’m happy you got it working, and I wish mine would too.
I appreciate that Apple is trying to limit malware ( or that’s the argument it has, anyway ) but the Extension API is much weaker then Android Intents.
The extensions only support very limited integration unlike Intent’s, which could essentially be anything.
The Metal API, and the examples Apple was showing, really demonstrates what Apple plans for Apple TV.
Their going to challenge the XBOX and Playstation with the next Apple TV, and they now have the technology to make that a reality at a $100 a pop.
( Yes, it won’t be as good, but it will be ‘good enough’ for all but the most hard core gamers. )
Bashing? Really? Cook mentioned Marketshare in regards to OS adoption Win vs Mac. One mention, done. Then he looked at mobile OS adoption, he stated those customers don’t get updates for features, security, and quoted Adrian Kingsley. Again, 2-3 mentions of other OS’s in a presentation that was 1:57:25 long and it’s a bash fest? Really? C’mon dude. Do better.
Not to mention, the adoption rates link you provided was to a Twitter link from yourself, via some random dude. I mean you could have done some actual work and googled “android adoption rates”. You’d see this page, from, oh no, https://developer.android.com/about/dashboards/index.html?utm_source…
You’ll see that Cook actually rounded up Android’s official data from May 2014.
Android malware rates? I guess Cisco is lying too huh?
http://newsroom.cisco.com/release/1310011/Cisco-Annual-Security-Rep…
So you owe Tim Cook an apology. Or are you content being a liar?
Edited 2014-06-02 23:58 UTC
May 2014 figures: 16%. Cook: 33%. That’s some amazing rounding up.
Go read up on the difference between “targeted by” and “actually infected”. The cold and hard data shows that despite all these malware writers rushing to write a quarter metric f–kton of malware, their malware is only successful in 0.001% of Android application installs, from both inside AND outside of Google Play.
The point people like you – and Tim Cook, apparently – do not understand is that “targeted by” means f–k-all without a metric to show *effectiveness*. The cold and hard data shows that Android malware writers are crazy ineffective.
We have been over this a million times, and yet, this simple fact is hard for you to grasp, apparently.
Edited 2014-06-03 00:15 UTC
Umm …
http://bgr.com/2014/04/11/android-kitkat-vs-jelly-bean/
April 2015: It says Kitkat is at 10%.
The mobile mallware statistic was pretty lame. Nothing else really allows for installs outside of a controlled ‘app store’ so it’s not like anyone will target anything else and, as you correctly point out, it really comes down to the infection rate.
We’re talking about a completely different figure. During the keynote, Cook said that “a third” of Android users were on Gingerbread, while it’s actually about 16%. THAT is what he lied about.
What is the percentage of Android users on Gingerbread or earlier? Does that come close to 33%? I’m not defending him, but he could have meant that? Not having watched the keynote I have no context.
Exactly. Just as with Windows, the vast majority of viruses and exploits are never released into the wild, and exist as proof-of-concept only. Of the few that do get out, on an OS like Android it is next to impossible to become compromised unless you’re pirating apps or installing from unknown sources. For the one or two that have slipped past the Play Store censors, they are found quickly and removed from the store.
Your missing the point. From that article (emphasis mine):
These studies are bullshit – they are just trumpeting self-evident numbers for the benefit of the AV companies. Android already has nearly 100% effective AV, its called not ticking the “allow installation of apps from unknown sources” button in settings…
Boooo, so places like China that have millions of Android users and no Google play store don’t count??
They always count when people want to trump Android user numbers (How many people are on Android) but then get dropped out when you start talking about compromised devices and other App stores.
In this context? Of course they don’t count. WTF are you smoking???
Malware is a side-effect of allowing unsigned apps. The very existence of those Chinese app stores (which in general do not sign their apps because most of them are pirated) is because Google makes it possible to run unsigned apps.
If you want the protection of a walled garden (just like iOS) Android offers one – all you have to do is use it… What China does with their Android phones is China’s business – it has no bearing on Android proper.
Seriously, if Amazon can figure out how to distribute apps using cryptographic signing outside of Google’s infrastructure why can’t China? Hint: because they don’t want to…
Also… If you bring China into the argument:
https://medium.com/startup-lessons/374a4f06c903
http://securityaffairs.co/wordpress/24161/cyber-crime/unflod-baby-p…
http://ios.wonderhowto.com/inspiration/sketchy-chinese-app-store-re…
The reason none of the US studies picks up all the malware for iOS devices flying around in China is the big firewall cutting most of it off from the rest of the world. The problem of malware in China is just as bad if not worse for iOS as for Android, because both platforms are routinely used with all of their security features turned off (something like 40% of all iphones in China are jailbroken)…
Which is exactly my point. If you disable signature verification on either platform you damn well better expect to be targeted by malware…
Hello;
Huh??
China doesn’t use the Play App store cause Google has no presence in China!
Also again EVERYONE knows there is a ton of Malware on devices, its picked up, only in places like this do people avoid the subject. The GREAT FIREWALL doesn’t stop this devices from being seen, they still get out to the internet, they are just limited from where they go on the internet, not the internet as a whole.
No, they don’t count. No Google Play, no Android. They should be left out of ANY Android equation. Same with the Kindle Fire.
So then WHY are all those devices counted as part of the millions of devices in the “Android Army”
You minus China and you minus over a third of all Android devices sold.
Yet whenever people talk numbers of course they are included, so are Amazon devices, so is the Nook and anything else running Android underneath.
By his logic… I’ll discount any iOS device that is infected by malware in counting iOS devices that are infected with malware…
I didn’t say Android devices that were infected with malware didn’t count. I said Android devices that don’t have the Play store didn’t count.
1. AFAIK, iOS devices infected with malware probably didn’t ship without the app store
2. Also AFAIK, the app store doesn’t have system-wide services like the Play store does.
That’s a load of horse crap! Of course they count. You count all iOS devices but put restrictions on Android when it suits you! That was my point in the sarcastic reply! This conversation was about Android v iOS phones!! Not limited by some arbitrary distinction that you POOYA!
Edited 2014-06-03 21:03 UTC
It is not an ‘arbitrary distinction’ when you rip out the main app store (which itself comes with a set of system services that many Android apps depend on to run correctly) and mangle the whole OS beyond recognition. It would be like calling the Xbox One a Windows PC, because it has Windows as its foundation.
I think the litmus test is this – can I install the Play store and run all of the main Google apps without having to resort to voodoo? If not, I’m sorry but… it ain’t Android and shouldn’t be counted in ANY statistics in that regard. If that means there are millions less Android devices than previously thought, then so be it.
For me, the responsibility is on Google. Google trots out all “Android” data when it suits them and “only GPS/Google Android” when it suits them. Well, my interests are not theirs; I want to look at the actual world market.
So as long as Google wants to pretend that sometimes “Android” means GPS Android+”Chinese” Android, I see no reason not to use that value when it doesn’t suit their needs.
I’m sure Google could provide their own metrics (that are much more transparent than what they currently provide (as detailed in clauses leaked in some MADAs) AND convince every analytics firm that tracks “Android” as all Android regardless of GPS as specifically GPS Android.
But then things wouldn’t look so good (so we get things like them changing counting methods on Android Dashboard and them being schizophrenic about what is and is not Android). When they begin accurately and consistently defining “Android” as one thing, I will too.
Sorry, but you are even strictly technically wrong. As long as your Android build passes the Compatibility Test Suite (CTS), you are certified for calling it Android.
The fact that you can _then_ choose to license the Google sauce, and the fact that most users expect that to be included these days (from their point of view, that is part of Android), does not change the fact that AOSP without Google Apps is still…. Android
Duh, this is exactly what I’m talking about. Thom (and others, presumably you) want me to use numbers for “Android” that excludes “non-GPS Android”! But you are telling me that Google isn’t counting all of Android. Which is what I said.
Because people are retarded
Very true! LOL.
The problem is that we have people who automatically assume that if someone brings up the competition then obviously the person who brings it up is trying to bash that said competition (whilst the person who brings up that point apparently has an issue of not being able to differentiate between a critique vs. a bash (I define bash as baseless criticism, ad-hom attacks etc)). WWDC isn’t just a circle jerk for existing developers but a sales pitch to undecided or on the fence sitting developers as to whether they should support the iOS platform and you do this by saying “and this is what we offer when compared to the competition”. The reality is that Android has a horrible adoption rate due to firstly lazy OEM’s who have pointless variations (check out the number of Samsung S5 variations) of the same product then compounded by the same OEM’s refusing to provide updates for products that are only 2 years old (check out Samsung SIII and customers being left high and dry with no Kitkat) then on top of that carriers who need to be told what their place is in the hierarchy of things – they’re nothing less than a dumb pipe, they aren’t the centre of the universe.
Then there is the Mac world where people upgrade with gusto to the next version where as the latest bad news is that customers of Windows 8 will have to wait till 2015 before they eventually get the start menu back and that doesn’t even address the fundamental flaws in the OS such as horrible resolution scaling where even parts of the OS’s UI isn’t properly resolution independent, developers complaining about what a giant PITA is is to develop resolution independent applications for Windows when compared to OS X. Btw, here we are in 2014 and funny enough and where is Thom’s doomsday scenario coming to fruition:
http://www.osnews.com/story/25619/Mac_OS_X_10_8_restricted_to_App_S…
Well, here we are and the world hasn’t come to an end, you can still install third party applications from non-AppStore sources so pray tell oh maestro of the crystal ball – when are we going to see this apocalyptic event unfold?
It’s always in the “next” version….
Yiu mad bro?
Its kind of funny how Apple has adopted headerbars and how the new Safari seems to copy epiphany.
Cupertino get your photocopiers ready?
Are you serious? The bar is translucent ( and it has been for like 2 previous versions ) and that makes it like Gnome 3?
Troll better bro.
A Picure is better than a thousand words:
https://lh4.googleusercontent.com/-979BUtMZMfs/U4zsds9rHOI/AAAAAAAAK…
Between Swift and Extensions, my two biggest wishes for iOS are addressed. I haven’t yet checked Apple’s implementation of inter app communication, but here’s to hoping it’s not as much of a PITA as in Android.
Edited 2014-06-03 01:05 UTC
I’d probably say that it is built on top of XPC which was released in Mavericks – I haven’t heard any negative feedback about XPC so it must be ok.
The API has existed since iOS 6: http://oleb.net/blog/2012/10/remote-view-controllers-in-ios-6/
Google has the next best thing, a VM that can be installed just about anywhere (Chrome).
They are pretty much in the same situation as MS was with Exchange vs Netware, except MS will never allow someone to pull a switcheroo like they did on Novell.
One word: Siracusa. He predicted it. Originally suggesting it here: http://arstechnica.com/staff/2005/09/1372/ then discusing it in detail with Guy English : http://www.imore.com/debug-32-john-siracusa-copland-2014
Dammit. More audio without a transcript. Who has time to listen to all of those podcasts? Personally I read at least 5x faster than someone can talk…
Listen to it at 5x then. It’s not spectacular, just proves the point that Thom’s sensationalism was wrong. More discussion here: http://atp.fm/episodes/68
Creating a new language is all well and good, but the name Swift http://swift-lang.org/“>was .
http://en.wikipedia.org/wiki/Go!_(programming_language)
Edited 2014-06-03 17:33 UTC
Swift…. A way for Apple to make it harder to port iOS apps to Android under the guise of “making it faster”.
Damn! they’re smart
This post doesn’t make any sense. Porting is not any harder than the previous situation with Objective-C.
If you care about multi-platform, look at Xamarin. That’s not going away.
And porting from Objective C iOS to Android was any easier?
Come to think of it, porting from anything to Android isn’t easy. It’s not even Java, 90% of the runtime is different.
And same goes for porting to iOS for that matter.
Yeah, porting Objective C to anything is tough. The concepts are easy, but the structure is vastly different.
If you have iOS code that is in C or C++, it’s relatively easy to port to Android (Java). The main issues being the signed/unsigned-ness of primitive types like char, int, long, byte, etc.
You can almost copy and paste, make the few mods you need and your good to go. Unless, you rely on a library that isn’t duplicated in Android (Java).
People keep forgetting the framework story. There’s little use porting Objective-C code over to Java if the Objective-C code is written against Cocoa Touch while the Java code needs to run on top of Android.
When you code against <any framework> you are locked into said framework. Java or no Java, open source or no open source, I’m locked into the Android ecosystem as soon as I code against Android the framework. I’m also locked into the Android ecosystem even if I use choose to use C# via Xamarin.
Since when is pointing out your competitions obvious weakness, called pettiness? This is called “courting developers”.
For a developer conference, it all seemed poignant to me!
Lying??? no! Streaching the truth, yes! That’s the whole point after all it’s a …. a … a … wait for it … a DEVELOPER CONFERENCE!!!!
And I thought Craigs tour of California to be quite funny! (pockets of support for OSX Weed
Yes. Additionally, Craig and the other presenters also took jabs at Craig (himself), Eddie Cue, Jonny Ive, some of Apple’s previous decisions in Mavericks and iOS, and were quite self-deprecating… much more so than three or four quips about Google or Microsoft.
I would rate, “One phone, by one company, ruled by one man!” a far bigger “Big Lie” than anything said by anyone at WWDC yesterday.
Edited 2014-06-03 21:38 UTC
Chris Lattner on Swift:
“I started work on the Swift Programming Language (wikipedia) in July of 2010. I implemented much of the basic language structure, with only a few people knowing of its existence. A few other (amazing) people started contributing in earnest late in 2011, and it became a major focus for the Apple Developer Tools group in July 2013.
The Swift language is the product of tireless effort from a team of language experts, documentation gurus, compiler optimization ninjas, and an incredibly important internal dogfooding group who provided feedback to help refine and battle-test ideas. Of course, it also greatly benefited from the experiences hard-won by many other languages in the field, drawing ideas from Objective-C, Rust, Haskell, Ruby, Python, C#, CLU, and far too many others to list.
The Xcode Playgrounds feature and REPL were a personal passion of mine, to make programming more interactive and approachable. The Xcode and LLDB teams have done a phenomenal job turning crazy ideas into something truly great. Playgrounds were heavily influenced by Bret Victor’s ideas, by Light Table and by many other interactive systems. I hope that by making programming more approachable and fun, we’ll appeal to the next generation of programmers and to help redefine how Computer Science is taught.”
First off…I agree that OSX 10.10 and iOS 8 definitely is going to be a good update. I really like the new ‘Continuity’ features and the evolution of the interface on both platforms.
I take issue with a few items, though. Starting with this quote:
“Not only did Cook lie about Android version adoption rates…”
Uh, no. I think he was being generous. See this link:
http://www.businessinsider.com/ios-7-adoption-versus-android-44-kit…
Also with this quote:
“Sure, those people target Android – but Android is so secure that despite all this effort from malware makers, their results are absolutely laughable.”
Not really…there are tons of opportunities where Android can be compromised. See this link:
http://www.sophos.com/en-us/security-news-trends/security-trends/ma…
I develop for both platforms, so I have some experience with these issues. iOS is sometimes SO secure, that it’s a challenge to come up with solutions to some unique requirements.
Just my .02 cents….:-)
CodeWrangler