System.NullReferenceException

.NET and GNOME hackfest day 1

We have mostly all arrived safely in lovely Vienna though some of us with slightly less baggage than we expected. We also have yet to see our Tasque developers Antonius Riha and Gerhard Liebmann.

Banshee

We have already had a very productive morning, managing releasing the first ever Banshee development preview using GTK#3, 2.9.0 on the road towards a 3.0 stable release for users later this year.

The next big step will be moving Banshee to using GStreamer 1.x via our freshly minted bindings generated using GObject Introspection. Andrés G. Aragoneses, Bertrand Lorentz and Stephan Sundermann are currently working on this and given the size of the task we should see some results in the near future.

That move will bring all our supported platforms to leveraging GStreamer using the same method and allow us to remove the C shim currently used on Linux for this task.

That piece of code is currently tying Banshee to an old and unmaintained version of GStreamer (0.10.x) and it is a source of a number of playback bugs. The end result should be that Banshee users will experience a much improved Banshee in terms of stability.

Hylke Bons volunteered his talents to help Banshee move its UI to be more in line with the design of GNOME 3 and technologies. Such work though is unlikely to see the light of day any time soon as the focus right now is moving Banshee to the modern GNOME 3 platform.

Tomboy

Tomdroid bugs are being squashed at a downright alarming rate. The aim is to get a Tomdroid release out with editing capabilities and support for our new Rainy note synchronization server.

Rainy is already in a fantastic state after a successful GSoC project and the web interface is seeing some small tweaks. Additionally progress is being made towards moving the SQLite backend from Rainy to the Tomboy Library. This will allow implementers of Tomboy to store notes in SQLite easily. With other public Tomboy note servers having been taken offline Rainy presents a valuable chance to restore this vital functionality to the Tomboy ecosystem, while also bringing encryption of notes, a web interface and many other things to the party.

After the long awaited Tomdroid release, a group of us are going to investigate moving Tomdroid from Java to Xamarin.iOS and C#, allowing sharing code thanks to the Tomboy Library.

With the Tomdroid release out of the way Stefan Hammer will move to working on Tomboy for GNOME 3. This however is likely to be work for Wednesday and beyond.

For Tomboy we also are actively working on the OS X port which is being moved from using WebKit to using Xamarin.Mac. However questions regarding rich text editing are being investigated as are UX choices.

Smuxi

Smuxi is seeing continued work towards its new GTK3 UI.

Smuxi GTK#3 day one progress

Pinta

Robert Nordan is currently working on Pinta and has made some significant progress towards compiling against GTK#3.

SparkleShare

Initial porting of SparkleShare to GTK#3 has been undertaken by Hylke Bons (http://twitter.com/hbons/status/387593459541897216).
SparkleShare on GTK#3.

So far SparkleShare runs but lacks support for certain features such as Application Indicators for which we have yet to generate bindings but it is otherwise very functional.

Mono packaging of .NET bindings

We have packages out for Debian/Ubuntu providing gtk# 2.99.1 but the big task for today in this area is deciding how we are going to organize, develop and release the new generated bindings and the tools going forward.

We want this to be super easy for Linux distributions to package and provide this bindings to developers, Mirco Bauer and Jo Shields are proving invaluable to understanding how to best meet those needs.

DBus

While Jeremie Laval was unable to come to the hackfest he still is with us in spirit and has helped the event by releasing the long awaited DBus# 0.8.0 which will allow us to move to a more stable version of the managed DBus implementation that has superior test coverage. It will also allow us to remove some workarounds in applications like Banshee which are in place to support older known broken releases.

Sponsors

We are really grateful for the chance to spend this week working on Open Source software and it would not be possible if not for our sponsors.

Norkart logo

Norkart AS, Norway’s premier supplier of Geographic Information Systems and related consulting.

Collabora logo

Collabora Ltd, Open Source Consulting

Schottenpoint logo

Hotel Schottenpoint, Our hotel partner

Novacoast logo

Novacoast IT, Professional Services and Product Development

GNOME logo

The GNOME Foundation, providers of the GNOME desktop

The University of Vienna logo

The University of ViennaInstitute for Theoretical Chemistry

MonkeySpace 2013

It’s that magical time of the year once more, and .NET users and developers are flocking to MonkeySpace, the heart and soul Open Source .NET.

This year we are in Chicago which marks a first for the conference and everyone is having a great time. Wonderful sessions and networking is taking place.

This year I am in charge of the hackroom which is 2013’s attempt at doing Open Source rather than just talking about it. While people do tend to get distracted by the great talks and not get a lot of hacking done the room is proving to be a great resource for everyone.

I am very excited about being here and talking to developers who come from completely different backgrounds to mine. There is no assuming that people know about Linux, GNOME or any frame of reference I am used to.

I am finding this very enlightening and refreshing, it is also a great way to get people interested as a lot of the applications I tend to associate with Open Source .NET such as Tomboy or Banshee do poorly in the Windows world from which this people hail.

This also means I have made a lot of contacts who are interested in doing fairly big chunks of work on such projects to fill in the gaps that are typically present such as integration with the Windows platform for Banshee to bring the experience up to the level of what we offer on Linux. Or simply providing a presence on these platforms for applications there for applications that have none such as Tomboy in respect to Windows 8 and Windows Phone 8.

In the coming months I will be working to set up these things and working with the truly wonderful people I have engaged with at MonkeySpace.

But we won’t stop there, Friday after the conference we are having a big all day hackfest. Aside representatives from a number of Open Source .NET projects, we will be having representatives from the Humanitarian toolbox so hackers can use their skills to help with disaster relief.

What iBooks for OS X tells us about the future of iTunes

iTunes, likely the most popular media application in the cosmos, is also one of the most uniformly loathed.

Primarily because it reeks of the 90’s, in that it tries to handle all kinds of tasks and all kinds of data in one huge application.

It is a monster that does everything under the sun with any kind of data you throw at it:
Music, podcasts, books, audiobooks, lectures, movies and TV shows.
It handles shopping for all of the above and apps.
Finally it manages, backs up and synchronizes your portable devices be that your iPhone, iPad and iPod.

iTunes presently harkens back to a time before the Internet, especially the Internet as provided by prevasive high speed wireless connections to powerful computers in your pockets and bags.

It served its purpose of centralizing your media and making iTunes (and in many cases your Mac) the organizer of your media. However the world has moved beyond this in a big way.

This makes iTunes overly complex, overly buggy and unintutitive. You know it, I know it and Apple knows it.

Which is why they have had to formulate a plan for iTunes going forth that tackles all of these issues.

We saw the first steps on iOS last year when they broke out Podcasts from iTunes into its own application along with separate applications for music and video.

Then followed the visual make over of iTunes for OS X with version 11, which fixed the ancient look and feel, or at least provided the first big step towards a modern user interface that is worthy of the 21th century.

Now with OS X Mavericks 10.9 we see Apple taking the next logical step, breaking out books from iTunes by shipping iBooks for OS X.

As a lover of ebooks I am very excited about this, mostly since iTunes is a terrible book manager but also because it will radically reduce the complexity of iTunes. It also covers ebook reading better on the Mac than it ever has been done previously (at least by Apple).

While getting iBooks on OS X is great it does raise the question of where Audio books belong in the future.

Do audio books go in iBooks using the same logic as we have seen in iTunes so far that they are books? Do they stay in iTunes following the logic that they are fundamentally sound not books? Or will audio books eventually be broken into its own application like we have seen happen with Podcasts?

I believe that for now audiobooks will stay in iTunes, but should eventually go in their own application. Regardless of the way you look at audio books, they are fundamentally a way to enjoy books not music but they are also not a natural fit with books in terms of how we use that content.

Like Podcasts, audio books seem well suited for a standalone application in that they need their own set of playback feature and the share mostly management needs with traditional books. I doubt that they would fit nicely into iBooks as things stand and by forcing them in there we would likely end up just moving the complexity problem from iTunes to iBooks. Though with the new interactive ebooks, perhaps it is not a great leap to put audio books in iBooks.

I think this is the direction we will see iTunes take for all major components. Podcasts on OS X is sure to follow, likely this year.

Another easy target could be iTunes U which is already a separate application on iOS.

The iTunes store will eventually go into the App Store, much akin to what Google presents with the Play Store. Centralizing buying content in one place would make sense.

Eventually iTunes will be back basics to it’s original music only application, with iTunes Radio and other cloud features. Much like the Music application on iOS as seen in iOS 7. At which point the question will be if the iTunes name will die. It has tremendous brand value but Apple has never been over attached to the past and maybe they will simply carry over the names used on iOS and bury iTunes with a fond farewell.

We will see Apple do this gradually rather than dumping a big reorganization and a bunch of new applications on users. Slowly easing us into this new world and allowing them to split the job up in managable bits. This will also allow Apple to keep the bug count and stability manageable, e.g. Podcasts on iOS was initially buggy and unstable but now it is great. I think that serves a good meassuring stick for the bumps in the road that can be expected with any single standalone former iTunes functionality application.

Podcasts for iOS, for all the hatred it got in the press initially is now very functional, elegant and it works well for most users. Apple were responsive in fixing issues and polish, to the point where today it is a much better experience than what iTunes provides for Podcasts for pretty much all users.

This whole process will likely take at least a couple of years to come about, depending of course on how important this is to Apple. It will likely take the course we have seen so far in being implemented on iOS first and making its way to the Mac with the big yearly updates.

On Marco’s fertile ground

Instapaper creator Marco Arment on iOS 7 being fertile ground.

A wonderful little article and I think Marco is mostly right in his assessment that existing players will have some hard choices to make in supporting iOS 7.

It is a completely new world, and major redesigns will be needed to fit in, also there is no way to properly support older versions of iOS with the same application and looking native on both platforms. It is largely one or the other, and the only way to have both is maintaining an application for each which would present a huge burden for most developers.

Properly architected applications with separated core and user interface, such as encouraged by Xamarin with their .NET based development tools though will have a leg up in supporting both platforms to their maximum and the burden involved with supporting both will thus be lower.

Such development is done by e.g. Rdio and the result is that they are enabled to deploy on multiplatforms with nicely integrated native apps at low development cost. Applications employing such tools and development technics will be able to treat iOS 7 as merely another platform to support and will likely get to market very rapidly and feature a native application with broad functionality.

Sadly most applications do not fall into this category, but I doubt it will matter much for most applications.

Unless there is an existing need to support older platforms, such as a contractual obligation or an existing vast userbase on e.g. iOS 6 and below who cannot upgrade which cannot be sacrificed on the alter of progress.

If you are Facebook, Angry Birds or Candy Crush you will have to support everything, but the average developer is unlikely to have to care about non-iOS 7 users simply because they will be representing a fairly small share of all users, and that share will be shrinking over time so there is little hope for generating lots of income compared to the development investment it will take and the compromises that will be needed in the application to accommodate these users.

Now a year after iOS 6 has been introduced more than 92% of all iPhones are using it and 83% of all iPads[1]. iOS 7 adoption will likely be lower after its first year due to deprecating older devices like the 3GS which are still in use, especially in markets where Apple devices are expensive or technologically out of step with the US market (such as Brazil where the iPhone 4 is still sold today as a highend phone by some companies without any subsidies available).

Also being a major change is likely to make people hold off a bit longer than usual, as has been seen with other platforms that radically changed their interface.

That being said it can still be expected to be very high. No other platform has the update rate iOS has and there is little to stop that from continuing. Apple have made a lot of right choices regarding iOS upgrades such as making them free and easy to apply. That has clearly paid off for them as the numbers reflect.

Where new players have the advantage in my mind is that they will have a chance to build their application directly for the new platform without having their mind tied to an existing userbase or an existing custom user interface. That clarity of mind is likely to be the biggest factor counting in favor of new developers and new applications entering the market. There is no taint or worries about the past, and there is a window open while the existing players execute their game plan for iOS 7 and beyond.

iOS 7 represents not just a new look and feel but a set of functionality that developers will want to rely on being present. Such as the opportunistic downloading so applications will no longer have to refresh data upon loading thus delaying the users access to the content she is interested in.

Examples of this kind of limitation can be seen in Feedly which reloads upon loading to get the freshest news stories or in Pocket which has to poll its servers for the latest articles you saved to read later. These application can now refresh when the user does things unrelated to the application which lead to waking up the device, like quickly checking the time or responding to a message.

This will lead to smoother, quicker feeling applications as a result of using features only available in iOS 7, will make it desireable to depend on in the very design and execution of the application. Thus going for iOS 7 and above only support will present an advantage to developers, and users will get better applications as a result of it.

The only set of applications that will likely suffer greatly will be largely unmaintained free applications that generate income solely from displaying ads. I doubt these kinds of applications will be able to support the development investment required to support iOS 7 properly. These apps are typically dead wood and cutting them from the tree will do it good. I think users will be served better by new actively maintained iOS 7 applications and if these new apps are 99 cents rather than free then that is a small price to pay for progress.

Progress is good.


  1. Chitika Insights analysis as of June 6th 2013.  ↩

WWDC – iOS 7 impressions

The most anticipated announcement of the WWDC keynote was without doubt iOS 7.

I expected there to be few new features due to the Forstall to Ive transition and boy was I wrong. Not only did iOS get a modern visual makeover but it added 1500 new APIs for developers to leverage and great new functionality such as easy data sharing via AirDrop between devices supporting it (which apparently does not include my 3. generation iPad, something I can’t really see a technical reason is the case).

The iOS 7 user experience

The best way to get an idea of the new style is to go to Apple’s iOS 7 page which has a gallery showing off the new style and the redesigned core applications, as well as a video of Sir Jonathan Ive explaining the philosophy behind the design of iOS 7.

John Gruber also has nice write up of how to think about the new style on Daring Fireballs which is highly recommended.

What iOS has gained with the interface update in my mind is a modern slick style and a consistent visual design language. It clearly draws inspiration from the flatter, simpler look that Microsoft pioneered with Windows Phone 7 and Windows 8, but also from OS X, WebOS and even some concepts from Android. If you like the way games like Letterpress look then I think you will enjoy what iOS 7 brings to the table.

It already visually speaking feels very complete which is amazing given the amount of time that has been available to redesign and develop iOS 7. I would not have expected them to have implemented such broad changes, adapting the core applications. Not only did they do that but they added a lot of new features and polish in the process.

I like iOS 7 a lot, it is obviously still an early design and we will see spit and polish being applied between now and its public release this fall. Apple clearly have not had time to fully consider deeper application changes in how things will work rather than what they will look like, what Ive tends to call the essence. However they have the fully formulated language to express those changes in now and they have taken the first major step down that road.

iOS 7 appears new, yet still familiar, meaning users will not have to relearn how to use their devices from scratch once they install the update but it will feel like they got a new device in so many ways. I think Apple has struck a good balance that will not scare existing users and still feels very fresh which will help with adoption. It certainly is not as polarizing as some people feared.

The big question is how many developers will be able to redesign their applications to fit visually into the new interface before this fall brings it to users. I expect that the first year or so will be encumbered by applications that will not visually fit in, especially free applications which tend to lack the resources and incentives to perform such big tasks.

The new design will likely to force a lot of developers to either keep separate versions for compatibility with non-iOS 7 or dump anything older than iOS 7 from their support list. It is a big change to adapt to and it seems impossible to create a single application that visually fits into both iOS 7 and older iOS releases. I think we will see developers will use this as an excuse to drop support for non-iOS 7.

Being able to rely on a certain level of hardware and on certain technologies being present will make for more elegant, less buggy applications with better performance, at least that is my expectation and hope. It is a big amount of work and updates to these, which realistically speaking will be completely new applications will likely be paid to recoup the costs involved.

iOS 7 is going to be a clean break, it is going to be some what painful at first, especially for developers who will have to scramble to adapt. That being said I think it is about time it was done and the new design language will serve both developers and users well for many years to come by providing a consistent guideline for developers to make beautifully simply application. Applications that leverage what modern hardware can do and which will work to the limits of what your device can do, not the limits set by the physical items from whence they came once upon a time.

I, for one, cannot wait to get my hands on iOS 7, I think you will like it when it arrives and wish my developer friends a good time exploring what it can do over the couple of months so they can bring us truly awesome applications to compliment the new world of iOS 7.

WWDC iCloud improvements

The much awaited WWDC keynote is over and let’s start with the message on iCloud.

Much against my expectations Apple did not admit or hint that they understood the problems with iCloud for developers and platform lock in. They also did not announce any plans for addressing the problems it has with CoreData, perhaps such changes will be the focus of sessions in the coming week.

They also did not tone down iCloud mentions as I expected in light of the recent battering it has taken. Instead they doubled down on the message that this is the future and showed off some new iCloud uses.

iWorks for iCloud

iWorks is now essentially an iCloud using web application that allows you to work with Keynotes, Pages and Numbers documents in the web browser. There is no word on updates to the native iWorks applications for iOS and OS X but I am guessing this means the end of those.

I feel like the world is moving away from the traditional office suite in many ways but having the functionality be on the web makes sense for those legacy cases where it is still needed.

This is the right direction for iWorks and I am sure it will receive more love in this new form than Apple has given it the last couple of years. It is clear that Apple doesn’t see Microsoft Office as the competition but Google Docs, which shows that in terms of Office type work they have their eye on where the ball is going to be, not where it is right now.

iCloud Keychain

Apple also introduced iCloud Keychain, a useful cloud based locker for data such as credit card information, website logins, known wifi networks and account information. This is very similar to the wonderful 1Password and this type of application is something everybody should be employing these days to have good security and avoid problems like password reuse.

This is a very welcome addition for users, however it will currently be limited to OS X and iOS which I suspect makes it a lot less useful to most people than 3rd party solutions such as LastPass and 1Password, since these will support every platform you use (mostly). However compared to those, iCloud Keychain will be free to use which is sure to count it its favor with many users.

Additionally there is concern that Apple keeps a master key for users iCloud data and can decrypt it at any time of their choosing. Storing potentially important and private documents, all your website login, account information and credit card information in a service that can be decrypted at any time by a 3rd party seems.. insecure to me.

It is an especially worrying aspect of iCloud in light of the revelation of the NSA PRISM surveillance program which has apparent collaboration from Apple (and other tech giants). Though Apple are denying giving any government that level of access to their servers the mere fact that they can access your encrypted data is problematic to say the least. I would be worried about putting anything on iCloud, especially personal data.

All in all, I feel that Apple are committed to iCloud and their WWDC keynote shows that they will be working on its issues. It is a good sign that they are eating their own dogfood by integrating it in their core applications to a greater degree than in the past. This should expose them to the issues experienced by developers more readily than they have previously. I am far less worried about their ability to follow through than I was before but given Apple’s track record as a service provider there are still a lot of questions that need good answers. Hopefully those answers will come in the iCloud sessions over the coming week.

For the record, I now believe I was wrong with regards to Apple buying Yahoo!. It seems they have elected to double down on becoming good at running services on their own, it is a song and dance we have seen from Cupertino before and it has not worked out well so far. Maybe 4–5 times is the charm for Apple.

WWDC 2013 – My hopes and predictions for software

WWDC is a developer event and that means new software, new APIs to play with and new OS previews for our Macs and iOS devices.

Apple put OS X on a years cycle much like iOS recently and we already know to expect previews of both iOS 7 as well as OS X 10.9 at this years WWDC.

iOS 7

With Scott Forstall officially out and Sir Jonathan Ive in charge of both hardware and software design big changes are expected. The common wisdom is to look at the evolution of Apple’s Podcast application for iOS for clues to how Ive will be changing the visual language we are used to.

If that is any guide the skeomorphic metaphores are out and a flatter look is in. As Ive was only put in charge at what must have been the halfway point of the iOS 7 development cycle I doubt that there has been much time to implement wide changes but I do expect some visual changes to key applications such as Mail.app, Calendar and Contacts, these are core iOS applications and certainly ones in need of a once over. I am hoping that iBooks will also be losing it’s wooden bookcase and embracing what ebook reading can be, I believe Marvin ereader application is a good direction to go in generally in this respect (in terms of the reading experience, Marvin is getting rather functionally overloaded and certainly nothing Apple would ship themselves).

Of new features it is widely rumoured that the social integration will be expanded with Vimeo and Flickr. Of these I think Flickr is the most important to consider as Apple has had a long standing relationship with Yahoo! and currently is trying it’s hardest to lessen their dependency on Google. Both though are signs that Apple are opening up to working with more partners and it is a good thing.

I hope that they will open up the Online Account system to 3rd parties so that I could e.g. add my Mega.co.nz, Dropbox, Kickstarter, Diaspora and other services there. It would likely also encourage app developers to rely on the system account store rather than having the user type in user names and passwords in every application. This would be a general good and the standard application review process could likely to enforced to avoid abuses of such an opening of access. It would though mean that if application developers start relying on it, that users would have better more central control over what applications have access to what accounts, and with what privileges. In fact if this is opened, I would suggest that Apple reject all applications that rely on 3rd party accounts which does not adopt the API to improve user privacy control.

I also hope that users will finally be able to set their default applications for mail, browsing and so on in some way. If they also allow you to remove their applications if so replaced it would be perfect. Additionally it would help stimulate the app ecosystem for this types of applications, to allow the Sparrows of tomorrow a greater change of success than the Sparrow that died all to soon. Something that would I suspect be greatly welcomed by both users and developers alike.

OS X

I love OS X, but I realise that it is not the most important of the OS projects in Apple’s world. It is also the project we have heard the fewest rumors about. There are some who say that with iOS taking on a more userfriendly, easy interface, OS X will be taking a turn towards power users. I believe this is untrue and if it turns out to be true I would be a mistake. OS X is the only desktop platform that keeping steady in a climate where traditional PC and laptop sales are falling. Making Finder more awful by adding tabs as has been suggested rather than making it more intuitive and elegant (like GNOME3’s Nautilus).

One reason we likely have not heard much about OS X is that Apple have had to pool effort behind iOS 7 to get it ready for preview.

Another is that OS X as it stands is pretty good, in fact what it mostly needs is having some long standing issues addressed such as the fact that the file system is 20+ years old and currently held together by duct tape and gum.

You don’t however change a filesystem overnight, and for what it is worth HFS+ in its current state is fairly stable and performs okay on the hardware Apple provides. I think Apple will change the file system eventually but it is not a project for this year and it shouldn’t be. I think it would be more trouble than it is worth. It is also a hard thing to get right, failing to do so is certain to cause dataloss and that is something Apple will want to avoid at all costs, even keeping HFS+ alive for another couple of years.

Services

I think the biggest changes to both iOS and OS X will be in services and integration.

iCloud

iCloud is famously popular with users, it generally works well for the cases we see it. E.g. this very blog post is written in the excellent Byword, in a text file that is stored on iCloud. I have worked on it using both Byword for iOS and OS X seamlessly, and once I publish the post the original document will stay where it is.

For developers though iCloud is a completely different story.

The most obvious problem is that iCloud is only available for iOS and OS X. Developers who wish to support additional platforms will have to use something else, this is not in Apple’s best interest. Apple will have to make iCloud available to developers not using Apple’s platforms and deploying via their their App Stores exclusively. Tim Cook seems inclined to bringing iCloud to more platforms and opening up a bit more in his All Things Digital interview so hopefully this will happen.

Secondly, while the relatively simple key-value pair syncing and document store works well, whereas the complicated CoreData syncing does not (see e.g. this article on The Verge. Sadly the latter is by far the most valuable part of iCloud and one that desperately needs to work for iCloud to live up to its promise.

Thirdly, iCloud is quite tied to the core iOS and OS X code base and as such is on basically a yearly schedule. This means that the feedback loop for bug fixes and new features is far to slow. They need to decouple iCloud and make it a separate SDK which is on a more rapid cycle such as the 6 week cycle seen with web browsers.

Unless Apple does something about their iCloud problem it will fail to catch on the way Apple is betting on. Apple also has a terrible history with regards to providing and running services. They do wonderful products and beautiful end user software but they just cannot seem to grasp how to do services. They will have to get good at it really quickly and I don’t think they can do that on their own.

I also think there is a reason that the Moscone center decorations are not featuring the iCloud logo that otherwise is prominent on Apple’s packaging and other material. They know it is broken, and they have nothing to announce… Yet. I suspect a special developer event will be held later this year, I just don’t think they have managed to get this ready for the big WWDC event and they will hurt because of it.

I think the Flickr integration is the first sign that Apple are warming up to Yahoo! and I hope it means that they are looking at either buying them outright for the talent and expertise or expanding their existing work relationship by e.g. contracting them to run and maintain Apple’s services on Apple’s terms. Apple cannot afford to screw this up any longer and it will hurt them in a bad way if they continue to attempt and fail.

Luckily for Apple, Yahoo! while improving under Marissa Mayer’s leadership is still in a bad place and would likely be inclined increasing their reliance on Apple to remain relevant.

So my prediction is that Apple will acknowledge that they cannot fulfill their iCloud promises as things stand and that they need to change rather than dig in and continue to fail terribly like they did under Steve Jobs.

This is I believe going to be the first time Tim Cook can really shape Apple’s future in a deep and meaningful way that Steve Jobs would never have done, and it is because he is ready to publicly apologize for falling short of his promises. Having already done so with regards to Apple Maps for its initially disappointing state and taken steps to improve that product to where it is today.

They will likely do so by buying Yahoo!, it is already a company they have strong ties with, Yahoo! being the providers of e.g. Weather data to Apple.

Also Yahoo! under Marissa Mayer understands the importance of Apple’s platform as the number one mobile web consumer. I believe they will make a good match and with it Apple also gains some of the social aspects it has failed to build in the past with such miserable failures as Ping.

iTunes

Apple began work on remodelling iTunes last year and I believe this work will continue. Eventually we will see them dramatically simplify the application by splitting it out into separate entities for Music, Video, Podcasts and Books. I don’t think this will happen this year, iTunes is simply to critical to Apple currently and the job it too big.

We have though already seen this start to happen on iOS, with the applications being split up but the iTunes app itself not being removed.

An improved iCloud should help towards this end goal and I think we will see Apple integrating iCloud more with iTunes this year.

iRadio

One thing that will help any such iTunes refactoring come to pass is the rumored Pandora/Spotify/Rdio competitor iRadio. Every Indication is that this will be announced today, the required deals with big content appears to have been signed and all is ready.

I am still unsure about the rumor that this will be a free ad supported service. Going in that direction would be very unlike Apple and I certainly hope this is not true. At any rate I am happy with Rdio and will likely stick with them, though it would be handy to be able to access the big collection that such a streaming service provides from my AppleTV as it is connected to our sound system.

Safari

Safari after Google forked WebKit is in a position to clean up the WebKit codebase a lot, I hope this happens over the coming year. I also hope that Safari is radically simplified and becomes settings-wise more like Google Chrome. Mostly though I hope that Apple realizes that they need to decouple Safari from OS X and iOS and put it on a more rapid schedule to keep up with Firefox and Google Chrome. Doing this would show commitment to Safari and it would ensure that improvements get into users hands more rapidly.

WWDC 2013 – My hopes and predictions for hardware

Tomorrow is Apple’s big annual developer event, it is mostly going to be about iOS and OS X but the rumor mill is also predicting some hardware changes in the product line up.

The Macbook Air

It seems clear that we will see Macbook Air and Macbook Pro updates to Intel’s newly released Haswell chip. I would predict that these new models will be available either immediately at WWDC or right afterwards. Intel has a good push going for Haswell and I bet they have their fabrication ducks in a line to keep yield up to allow Apple to roll these out without any of the delays that last years iMac updates saw.

The Macbook Air is already pretty much as thin as we can make them with the technology and materials currently available.

I also doubt that Apple will be able to pull off putting a Retina display in the Air models this year as much as I would love to see it happen. I doubt they can keep the battery life without having to add more and/or better batteries into the form factor. They did do this to deliver the 3. generation iPad with a Retina display but I doubt it is possible for them to do just yet. There is also the problem that it would likely significantly raise costs and likely there would be a shortage of displays which would cause rollout delays Apple are likely keen to avoid after the iMac fiasco.

I predict the Macbook Air will stay non-Retina for another year and that it will stay in the same form factor. Due to the improvements Haswell brings to the table though it will be more powerful and likely last longer on battery.

The Macbook Pro

That leaves the which the Macbook Pro to make changes to. With last years introduction of the 15“ and 13” Retina models the line up now looks very visually distinct which is not really in Apple’s usual style. I predict they may want to unify these machines over time, likely to use the 15" Retina form factor.

If Apple decides to drop the discrete graphics from their Retina Macbook Pro machines they would likely to able to push in that direction. It seems likely that they could make those models slimmer and if that is the case I bet they will take the time to unify the look and feel. We are likely see going to see non-Retina models simply to keep affordable models in the line up but it is clear that Retina is the way Apple is going and the rest of the industry is following.

Any such change would depend on Apple being willing to trade off graphics performance by replacing the current generations discrete Nvidia chip with Intel’s new Iris integrated GPU. They would save power and while the new Intel chip is good, it still is not powerful enough to compete on the same level as the chip Nvidia currently supplies them with. It is however quite close in a number of places and even surpasses it in a few.

As a result gaming performance would go down but I expect that desktop performance would be close enough to the current generation to make no real difference.

I suspect Apple will be willing to make that tradeoff, they always had a thing for making thin, light and powerful machines. With an all Intel solution they would be able to deliver such an experience across their lineup (within reason on graphics performance) while completely removing the complicated and error prone graphics chip switching which happens in the current model to save power by changing from the Nvidia to the built in Intel.

The Mac Pro

I don’t think we will see the promised new Mac Pro, unless Apple replaces the Xeon style chips they traditionally have put in these machines for Haswell chips. That would mean a lower memory limit and the loss of dual CPU sockets. I am betting that they are holding out to deliver something later this year as soon as the needed hardware is available. Apple has also hinted that the Mac Pro upgrade will be completely different, and it is likely the machine that they will be assembling in the US.

The AppleTV

There has been much debate in the community on what Apple intends to do with their AppleTV hobby project. It currently has sold 13 million units and it is in my own experience a fantastic device. I personally love the remote to death and I have caught myself enjoying the feel of it in my hand more than is healthy.

The long term play with the AppleTV is likely going to be towards braod home entertainment but it would require more powerful hardware, developer access in the form of a SDK and a new controller (if they want to encompass gaming which I believe they do).

iOS is by the numbers one of the largest gaming platforms in existence already, and one can bring the iPad and iPhone screen to the TV via AirPlay over an AppleTV. This is though encumbered by a significant delay and isn’t really suitable for gaming.

To get gaming running I suspect Apple would need to beef up the AppleTV by adding more storage and more processing power for both graphics and processor. The Ouya shows us that ARM technology can support a console, though a fairly underpowered one compared to the Xbox One and Playstation 4.

The model Ouya espouses is yearly hardware upgrades at a 99$ price mark. This is currently what the AppleTV costs and being able to entice consumers to upgrade yearly with newer and faster models is very in line with Apple’s other businesses.

This would also allow Apple to iterate towards technology that is powerful enough to drive current AAA titles without having to spend years in development of a console that will have to last 5–8 years the way competitors do.

They already have an OS that is proven to be solid, performant and has a wide selection of games, many of which could likely be scaled to work with a separate wireless controller on the Apple TV. Add to this that the AppleTV also already has excellent media handling and a mature digital distribution channel in the form of the iOS App Store. Apple has on its hands a device that already has all the powerful media partnerships that its competitors are building and it has an existing gaming ecosystem as well as the service needed to drive it in Game Center.

So I think we might see an AppleTV model with increased storage, a quad core A6 derived chip and a bluetooth connected wireless controller (which will be sold separately at say 49–79$). I think these hardware increases are likely to mean that Apple will have to raise the price, but not by much, the device on its own could be a mere 149–179$ and still net Apple a handy profit.

Such a device would be significantly less powerful than the next generation consoles like the Playstation 4 that have been announced this year but it will be quite close to the current generation consoles so it is by no means crippled.

Apple will also be able to have quite a number of launch titles if they announce it now and have availability starting in a couple of months or if they have managed to sneak models out to selected developers in the past few months who have all kept their mouth shut. This is quite possible as we have just seen with the Xbox One and Playstation 4, both of which have significant titles announced without leaks. Apple are if anything even better at containing such leaks than Microsoft and Sony so it would not surprise me if they could pull that off.

Apple have also been hiring a lot of graphics chip designers which seems to indicate that they are aiming for some specialization in that area. On a console device one could deploy such technology with fewer concerns about power usage than on the iPhone or iPad, so I suspect over time we will see Apple deploying their most powerful hardware in the AppleTV in the future and working on scaling it to their portable devices from there.

I hope that we will indeed see an AppleTV upgrade at WWDC along with the release of an SDK for developers. Current AppleTV devices will likely be left out of the new world of apps and games, but such is life. A 149–179$ range upgrade will set things right and current AppleTV owners have never been promised anything except what we have been happy with uptil now. I know I would happily jump on the wagon immediately.

I think Apple can pull this off and it would certain broadside its competitors, as well as generating a new stream of income. All the pieces are there and the execution would be fairly classic Apple. It would also be a sign that Apple still can keep a secret and stun the world.

I do not believe the rumored iTV exists, it doesn’t make much sense compared to doing a home entertainment system like this. Convincing people to upgrade a home entertainment box yearly at <200$ is a lot easier than convincing them to do the same with a 2500$ TV. I also don’t believe Apple needs to make a TV to reinvent it or finally make it useful and less buggy. My own Phillips “smart” TV is certainly not without problems and nice as it is, it is far from smart – something the addition of my AppleTV makes up for.

The only question in my mind currently is if this will be a WWDC announcement or if they will hold a separate event for it. WWDC is a developer centric event and it will be packed with other announcements. This would also be so big that it would make sense to have a separate event dedicated to it.

The heart says WWDC, the brain says separate event but in the near future.

The iWatch

I think Apple have a wrist worn device in development. I also think that Tim Cook is right when he says that it has to have broader appeal than a current generation smart watch or any of the currently available wrist devices like the FitBit Flex or the Nike+ Fuelband which are essentially single purpose display less exercise aids to get people wearing them. Only a minority of the population wears a watch these days and convincing them to put something on their wrists will require it to be sensational.

I do not think we will see such a device at WWDC. The technology required for something as ambitious as the iWatch would have to be simply doesn’t appear to be quite there yet. I think this year belongs to the AppleTV, the iWatch I think is a surprise that will have to wait till next year at least.

Systemd in GNOME, PackageKit and what GNOME as an OS really means

Is the sky is falling? Is GNOME going Linux only?

recent proposal be PulseAudio and systemd lead developer Lennart Poettering to add systemd raised concerns that GNOME might drop support for non-Linux platforms.

Rest assure this is not the aim. Lennart in follow ups to his proposal explains that systemd could be separated into a core set of interfaces which could take replacement backends that support e.g. FreeBSD so long as it implements the interfaces systemd cares about or as it was their init system. What Lennart doesn’t want is a lot of additional code in systemd as it is today to support these platforms as one of the main advantages is the simplicity and elegance obtained by relying on the functionality presented by Linux.

Why should we care about what systemd cares about?

Because systemd gives us a powerful set of tools to improve the user experience along the improvements promised and shown in performance and standardization (read Lennarts excellent series explaining systemd on his blog). With systemd we can replace some core functionality such as ConsoleKit which would allow for a smoother multi user experience.

Solving simple problems such as setting the pretty host name that gives your machine identity. Systemd strives to allow this now by standardizing on such things as where this data is stored and it what format. Fundamental assumptions about the system that will benefit the user experience.

Systemd goes beyond that, it’s interfaces provides us a set of information and functionality which we can use to make GNOME more user friendly. E.g. systemd lets us provide a smooth experience via it’s control group tracking of all processes. This allows balancing of CPU (and likely also IO) resources between applications making a system slow down more graceful and the overall experience smoother. This tracking also allows GNOME precise knowledge of these processes. data which might be used for improvements in how gnome-shell displays information to the user.

Shouldn’t we wait depending on systemd till other platforms are supported somehow?

In honesty, resources are scarce and the truth is that the vast majority of developers and users of GNOME are on Linux. We have a reference implementation now on that most used platform and replying on it’s interfaces would allow us to provide a superior user experience both short term and long term. Depending on ystemd only means depending on its interfaces and competing kernels can init systems could very well provide these interfaces as well. That effort is though on their shoulders but with apparent willingness to cooperate.

How this is analog to PackageKit longterm

Many people misunderstand PackageKit, mostly I suspect because they have had poor experiences with the default PackageKit user experience. PackageKit is not about these tools, PackageKit is about defining a common interface to talk to the package manager. This allows e.g. integration so that the system is requested to install support for missing formats if it is available. Common examples of these situations would be missing compression formats like .rar, missing codec support such as .mp3.

It is not about .deb vs. rpm, nor yum vs. apt-get!

PackageKit like systemd exist precisely to avoid those fights. The existing tools and package repos are excellent, what we care about is not replacing them but working with them in a consistent fashion. In PackageKit every package manager implements a backend which supports a common interface. In the same way that depending on systemd allows the assumption of a common set interfaces which can be used to enhance the user experience. There should be nothing technically baring an analog solution for systemd as what PackageKit has for separated backends.

But the PackageKit user interfaces are still ugly David!

That is true and it is widely agreed that the Ubuntu Software Center is a superb experience. It currently works not using apt-get directly but using an incompatible PackageKit fork aptdeamon. Porting this to PackageKit is being undertaken by Alex Eftimie under Google’s Summer of Code 2011 so fear not you shall have the same experience as always, and it will be available on any GNOME platform. Naturally depending on completeness of PackageKit backend and existence, though most major distributions are covered to some degree.

Ubuntu’s other tools such as the update experience are also aptdeamon tools and could be ported. My personal feeling would be that the better investment of resources would not be specifying GNOME3 stories for upgrades and updates in additions to the stories already told by PackageKit.

PackageKit and systemd are slow!

And I postulate to all that slow is a bug. In the case of systemd one of benefits should be performance an Lennart is already matching an Ubuntu Upstart powered 10 second boot. As I understand with patches to a standard Fedora 15 install and no LVM as I understand. PackageKit might have hard problems to solve to match what aptdeamon gives Ubuntu in terms of performance and certain features but Richard Hughes has shamed concerns before with actual hacking. I would trust him to solve this problem long term and reap the benefits of being allowed the assumptions PackageKit gives GNOME now.

GNOME as an OS is (partly) about interfaces, not defining a Linux only desktop that runs only on Thursdays if the window is open

Interfaces like PackageKit and systemd allow GNOME to solve problems and provide real improvements to the experience. The sad side effect of leveraging what the vast majority of GNOME users already have in Linux is short term that GNOME will be Linux only. Long term it is up to the competition to provide the same interfaces. This is no different than depending on Tracker or GTK+, these needed tools which provide the interfaces we need might not run on a given platform. Given resource constraints it must sadly fall upon these platforms to contribute in providing those required interfaces.

An adventure in Open Source contribution

I’m now officially a contributor to Banshee.

While I have done a lot of advocacy work and packaging, this is my first ever proper code contribution to Open Source. Coding as such never really excited me and as a result it has been some 5 or 6 years since I last sat down to understand and work on significant code. Even then I never really got deep into programming as specification and design always was more fun to me than implementation.

It all started when a friend buzzed me a presentation by Anders Hejlsberg titled The Future of C#. While I haven’t done much with .NET I have always been impressed by it as technology and I was eager to learn of what new tools would come in the future. Naturally the talk was also attractive to me because one of the features Anders demos (Compiler as a Service) as a coming post 4.0 release feature is in Mono today, something I always like to think about when people say that Mono forever will be “chasing the dragon”. Regardless, the talk got me excited about coding and was extremely entertaining to boot. So I wanted to try something, anything, and since I like Banshee but also see it crashing and being slow a lot as a daily stress tester and bug filer I decided to subject it to experimentation.

In comes the magic of .NET, Mono, and Ubuntu. In Ubuntu I found all the tools I needed, namely MonoDevelop, mono-tools and finally Gendarme. Gendarme is a really cool project that can inspect assemblies and executables according to a set of rules for such things as security, performance and even bad practices. So I decided to run Gendarme on then content of /usr/lib/banshee-1 expecting to see a few hits and probably a lot of false positives. However Gendarme returned more than 8800 issues even on medium settings, so I limited my focus to just the performance rules set.

Gendarmes issue reports have excellent documentation with examples of bad and good code as well as careful explanations, making it easy to pick a simple problem such as the one addressed with my patch. In this case we now determine these variables at compile time rather than at link time which is faster. It is safe to do and doesn’t break external assemblies as the fields are not shown outside. All of which was explained by Gendarme and confirmed on the Banshee IRC channel. Gendarme even explained how to fix the issue, it could not be easier. Bertrand Lorentz was kind enough to sign off the patch and commit it within minutes. As an example the Gendarme article on the issue type my fix addresses can be found here.

Regardless, that was yesterday. Today my Banshee is once again back to being a git build by hand which with the excellent Banshee daily repo hasn’t been required since I stopped contributing to Fedora. The reason is simple, I needed to compile test some more changes as I was reading the Banshee source code and learning. With friendly hints from the existing developer base also growing some basic understanding of what is going on.

Contribution is easy, zero to sixty even, with Mono and Banshee.