Canonical Voices

Posts tagged with 'apps'

Michael Hall

Convergent File ManagerConvergence is going to be a major theme for Ubuntu 14.04, not just at the OS and Unity 8 levels, but also for the apps that run on it. The Core Apps, those apps that were developed by the community and included by default in the last release, are no exception to this. We want to make sure they all converge neatly and usefully on both a tablet and on the desktop. So once again we are asking for community design input, this time to take the existing application interfaces and extend them to new form factors.

How to submit your designs

We have detailed the kind of features we want to see for each of the Core Apps on a Convergence wiki page. If you have a convergence design idea you would like to submit, send it as a file attachment or link to it online in an email to design@canonical.com along with any additional notes, descriptions, or user stories.  The design team will be reviewing the submitted designs live on their bi-weekly Design Clinics (Dec 4th and Dec 18th) at 1400 UTC.  But before you submit your ideas, keep reading to see what they should include.

Extend what’s there

We don’t want to add too many features this cycle, there’s going to be enough work to do just building the convergence into the app.  Use the existing features and designs as your starting point, and re-imagine those same features and designs on a tablet or desktop.  Design new features or modify existing ones when it makes the experience better on a different form factor, but remember that we want the user to experience it as the same application across the board, so try and keep the differences to a minimum.

Form follows function

There’s more to a good design than just a good looking UI, especially when designing convergence.  Make sure that you take the user’s activity into account, plan out how they will access the different features of the app, make sure it’s both intuitive and simple.  The more detail you put into this the more likely you are to discover possible problems with your designs, or come up with better solutions that you had originally intended.

Think outside the screen

There is more to convergence that just a different screen size, and your designs should take that into consideration.  While it’s important to make good use of the added space in the UI, think about how the user is going to interact with it.  You hold a tablet differently than you do a phone, so make sure your designs work well there.

On the desktop you have even more to think about, when the user has a keyboard and mouse, but likely not a touch screen, you want to make sure the interface isn’t cumbersome.  Think about how scrolling will be different too, while it’s easy to swipe both vertically and horizontally on a phone or tablet, you usually only have a vertical scroll wheel on a desktop mouse.  But, you also have more precise control over a mouse pointer than you do with a finger-tip, so your interface should take advantage of that too.

Resources available to you

Now that you know what’s needed, here are some resources to help you.  Once again we have our community Balsamiq account available to anybody who wants to use it to create mockups (email me if you need an account).  I have created a new project for Core Apps Convergence that you can use to add your designs.  You can then submit links to your designs to the Design Team’s email above.  The Design Team has also provided a detailed Design Guide for Ubuntu SDK apps, including a section on Responsive Layouts that give some suggested patterns for different form factors.  You can also choose to use any tools you are comfortable with, as long as they Design Team and community developers can view it.

Read more
Michael Hall

At the same time that Ubuntu 13.10 was released, we also went live with a new API documentation website here on the Ubuntu Developer Portal. This website will slowly replace our previous static docs, which came in a variety of formats, with a single structured place for all of our developer APIs. This new site, backed by Python and Django, will let us make our API documentation more easily discoverable, more comprehensive, and more interactive over time.

Screenshot from 2013-10-17 09:54:41

We launched the site with only the documentation for the Ubuntu UI Toolkit, as well as upstream QtQuick components. But in the past week we’ve added on to that API documentation for the new Content Hub, which allows confined apps to request access to files (pictures, music, etc) stored outside of their sandbox, as well as a full new section of HTML5 API docs covering the visual components developed to match the look and feel of their Qt/QML counterparts.

Read more
Michael Hall

App Showdown Winners

The judging is finished and the scores are in, we now have the winners of this year’s Ubuntu App Showdown!  Over the course of six weeks, and using a beta release of the new Ubuntu SDK, our community of app developers were able to put together a number of stunningly beautiful, useful, and often highly entertaining apps.

We had everything from games to productivity tools submitted to the competition, written in QML, C++ and HTML5. Some were ports of apps that already existed on other platforms, but the vast majority were original apps created specifically for the Ubuntu platform. Best of all, these apps are all available to download and install from the new Click store on Ubuntu phones and tablets, so if you have a Nexus device or one with a community image of Ubuntu, you can try these and many more for yourself.  Now, on to the winners!

Original Apps #1: Karma Machine

karma_machine_subredditkarma_machine_contentkarma_machine_commentsKarma Machine is wonderful app for browsing Reddit, and what geek wouldn’t want a good Reddit app?  Developed by Brian Robles, Karma Machine has nearly everything you could want in a Reddit app, and takes advantage of touch gestures to make it easy to upvote and downvote both articles and comments.  It even supports user accounts so you can see your favorite subreddits easily.  On top of it’s functionality, Karma Machine is also visually appealing, with a good mix of animations, overlays and overall use of colors and layouts.  It is simply one of the best Reddit clients on any platform (having written my own Reddit client, that’s saying something!), and having it as an original Ubuntu app makes it a valuable addition to our ecosystem.  With all that, it’s little wonder that Karma Machine was tied for the top spot on the judges list!

Original Apps #1: Saucy Bacon

saucy_bacon_searchsaucy_bacon_toolbarsaucy_bacon_editSomething for the foodies among us, Saucy Bacon is a great way to find and manage recipes for your favorite dish. Backed by food2fork.com, this app lets you search for recipes from all over the web.  You can save them for future reference, and mark your favorites for easy access over and over again.  And since any serious cook is going to modify a recipe to their own tastes, Saucy Bacon even lets you edit recipes downloaded from somewhere else.  You can of course add your own unique recipe to the database as well.  It even lets you add photos to the recipe card directly from the camera, showing off some nice integration with the Ubuntu SDK’s sensor APIs and hardware capabilities.  All of this mouth-watering goodness secured developer Giulio Collura’s Saucy Bacon app a tie for the #1 stop for original Ubuntu apps in our contest.

Ported Apps #1: Snake

snake_introsnake_play2snake_play

The game Snake has taken many forms on many platforms throughout the years.  It’s combination of simple rules and every-increasing difficulty has made it a popular way to kill time for decades.  Developer Brad Wells has taken this classic game from Nokia’s discontinued Meego/Harmattan mobile OS, which used a slightly older version of Qt for app development, and updated it to work on Ubuntu using the Ubuntu SDK components.  Meego had a large number of high quality apps written for it back in it’s day, and this game proves that Ubuntu for phones and tablets can give those apps a new lease on life.

Go and get them all!

The 2013 Ubuntu App Showdown was an opportunity for us to put the new Ubuntu SDK beta through some real-world testing, and kick off a new app ecosystem for Ubuntu.  During the course of these six weeks we’ve received great feedback from our developer community, worked out a large number of bugs in the SDK, and added or plan to add many new features to our platform.

In addition to being some of the first users of the Ubuntu SDK, the app developers were also among the first to use the new Click packaging format and tools as well as the new app upload process that we’ve been working on to reduce review times and ease the process of publishing apps.  The fact that all of the submitted apps have already been published in the new app store is a huge testament to the success of that work, and to the engineers involved in designing and delivering it.

Once again congratulations to Brian Robles, Giulio Collura and Brad Wells, and a big thank you to everybody who participated or helped those who participated, and all of the engineers who have worked on building the Ubuntu SDK, Click tools and app store.  And if you have a supported device, you should try out the latest Ubuntu images, and try these and the many other apps already available for it.  And if you’re an app developer, or want to become an app developer, now is your time to get started with the Ubuntu SDK!

Read more
Daniel Holbach

I’m very proud of what quite a number of teams achieved together last week. On Friday we announced the opening of the Ubuntu Touch software store. Just to quickly illustrate who was all responsible for this, here’s a list of the teams/projects involved:

  • Click itself – the format in which we ship apps.
  • Community team – helped with coordination of whole app story and project management.
  • Design team – putting together plans for how the experience should be.
  • *dations teams (Foundations, Phonedations), getting everything in the phone image, helping with the integration of the download service.
  • IS, setting up servers and help with deployment.
  • Online Services (Client) – writing the code for the whole app management experience on the client side.
  • Online Services (Server) – putting together the software store, review capabilities, etc.
  • SDK team – teaching QtCreator about Ubuntu apps and click packages.
  • Security team – defining and putting together our app confinement strategy.
  • Unity teams – integration of the app scope and other bits and pieces.
  • Lots of others (feedback, code review, encouragement, etc).

I’m sure I forgot to mention a team or two, but it’s at least worth trying to point out who all was responsible for this. The security confinement, the SDK and Unity have obviously been under heavy development for a longer time already, some plans existed before, but the vast majority of what you can see now was planned three months ago. So with this in mind, I feel everybody involved in this project deserves a big hug and some words of praise. This is a great achievement.

There are definitely a bunch of things still left to be done, but now we have:

  • a good app development experience,
  • a software store you can easily submit apps to,
  • a mobile OS where you can easily install apps.

Go (virtual) team! :-D

Screenshot stolen from Michael Hall (https://plus.google.com/109919666334513536939/posts/T5dtW92Miid)

This project was my first try at project managing and I thoroughly enjoyed it. Hundreds of emails, lots of meetings and discussions on IRC made the software store a reality. Everybody worked very hard to bring this to fruition and it was a fantastic feeling to be able to download some new apps on my Nexus 7 today.

As I said above: there is still quite a few things we’ve got to do, so the coming weeks are going to bring us a lot of great stuff: purchases, some automation of the app review, easy app updates, apps with compiled code and much much more. Stay tuned and keep publishing your great apps!

Big hugs to the extended team, you are all heroes and thanks for the great time with you!

Read more
Michael Hall

This is it, the final day of the Ubuntu Core Apps Hack Days!  It’s been a long but very productive run, and it doesn’t mean the end of your chance to participate.  You can always find us in #ubuntu-app-devel on Freenode IRC, and for today either myself (mhall119) or Alan Pope (popey) will be at your beck and call from 9am to 9pm to help you get setup and started working on the Core Apps.

The last of the Core Apps, and the one we will be focusing on today, is the Stock Ticker. Originally developed by independent developer Robert Steckroth, we recently invited the Stock Ticker into the Core Apps project where we have been focused on refining the UI and setting it up for automated testing.  Feature wise, the Stock Ticker was already dogfoodable when we brought it under the Core Apps umbrella:

  • Search for stocks. DONE!
  • Add stocks to your portfolio. DONE!
  • Browse current stock prices. DONE!
  • Browse stock information. DONE!

For the UI we asked community designer Lucas Romero Di Benedetto to produce some new visual designs for us, which are looking incredible!  But it’s going to take a lot of work to implement them all, so we really need some more developers, especially those who know their way around QML, to help us with this.

Read more
Michael Hall

We only have 2 days left in the Ubuntu Core Apps Hack Days!  I hope everybody who has participated has enjoyed it and found it informative and helpful.  If you haven’t participated yet, it’s not too late!  Come join us in #ubuntu-app-devel on Freenode’s IRC network anytime from 9am to 9pm UTC and ping either myself (mhall119) or Alan Pope (popey) and we’ll help you get setup and show you where you can start contributing to the Core Apps.

Mmmmmm, Pie....Today we get another chance to play while we work, because the focus is going to be on Dropping Letters, a simple, fun, yet surprisingly addictive little app written by Stuart Langridge.  Stuart has since handed off development of the app to others, but not before having it already in perfectly usable state.  Because of it’s simplicity, our list of dogfooding requirements wasn’t very long:

  • Start a new game. DONE!
  • View high scores.

Short as the list may be, it’s only half done!  We still need to integrate a high scores screen, which means we need you Javascript and QML developers!  Dropping Letters also needs to be tested, which means Autopilot, which of course means we have something for you Python hackers too!  So come and join us today in #ubuntu-app-devel and help make this great game even better.

Read more
Michael Hall

We’re back again for another Ubuntu Core Apps Hack Day!  As always you can find us in #ubuntu-app-devel on Freenode IRC from 9am to 9pm UTC, you can ping me (mhall119) or Alan Pope (popey) and we’ll help you get setup with a development environment and a copy of the Core Apps source code so you can start hacking.

Today’s app is one that was most requested when we announced Ubuntu on phones, and has since proven to be one of the most often used by developers and testers the like.  That’s right, I’m talking about the Terminal!  The Terminal went through very rapid development, thanks to the herculean efforts of one very talented developer, and the ability to re-use the KTerminal QML component from KDE’s Konsole project.  Because of both, the Terminal app has been dogfoodable for a while now.

  • Issue commands. DONE!
  • Use case: ssh into another computer. DONE!
  • Use case: edit a file with vi. DONE!
  • Use case: tail a log file. DONE!
  • Use case: apt-get update. DONE!

But that doesn’t mean that the work here is done.  For starters, we need to make sure that changes to the KTerminal code are submitted back upsteam, something we could certainly use some help from somebody who is familiar with either Konsole’s development specifically or KDE in general.  We also want to improve the availability of special keys like the function keys and ctrl+ combinations that are oh so useful when interacting with the command line, so anybody with QML/Javascript experience or who is familiar with the on-screen keyboard specifically would be able to help us out quite a bit here.

Read more
Michael Hall

Last week was certainly an exciting one, between the Ubuntu Edge campaign announcement and several coworkers being at OSCON, I wasn’t able to keep the Hack Days going.  So we’ve decided to pick up where we left off this week, covering the remaining Core Apps on our list.  Just like before we’ll be hanging out in #ubuntu-app-devel on Freenode IRC from 9am to 9pm UTC, and will be more than happy to walk you through the process of getting started.

Today we’re going to work on the Document Viewer, a necessary app for most people, which is at the same time both simple and very complicated.  The app itself doesn’t require a lot of functionality, but it does need a lot of behind-the-scenes components to load and render documents of different formats.  Great progress has already been made on our dogfooding requirements list:

  • Load a text file. DONE!
  • Load an image file. DONE!
  • Load a PDF.
  • View the file. DONE!
  • Forward/back pages on PDF.
  • Pinch to zoom.

Until just yesterday, there wasn’t a released version of our desktop PDF library (Poppler) that had Qt5 bindings.  However, with the release of Poppler 0.24 yesterday, we should not be ready to start implementing the PDF support.  We also need to replace the existing C++ wrapper used to launch the app with the new Arguments QML component, but when we do that we’ll need another QML plugin that will give us the mime-type of the files that are being loaded.  And of course we need to make sure we have full Autopilot test coverage for all of these parts.  So whether your skill set is Python, QML, Javascript or C++, there is something you can contribute to on this app.

Read more
Steve George

Today we are pleased to announce the beta release of the Ubuntu SDK! The SDK is the toolkit that will power Ubuntu’s convergence revolution, giving you one platform and one API for all Ubuntu form factors. This lets you write your app one time, in one way, and it will work everywhere.  You can read the full Ubuntu SDK Beta announcement here.

For the developers who are already writing apps using the Ubuntu SDK most of the beta’s features will already be known, as they have been landing in the daily releases as they become finished. Here’s a list of the features that have been added since the alpha:

  • Cordova Ubuntu HTML5 app template – leverage the Apache Cordova APIs to write Ubuntu apps with web technologies: HTML, JavaScript and CSS. Write your first HTML5 with the Cordova Ubuntu tutorial.
  • Ubuntu SDK HTML5 theme – a companion to all HTML5 apps: stylesheets and JavaScript code to provide the same look and feel as native apps
  • Responsive layout – applications can now adopt a more natural layout depending on form factor (phone, tablet, desktop) and orientation
  • Scope template – Scopes enable operators to prioritise their content, to achieve differentiation without fragmentation. Now easier to create with a code template
  • Click packaging preview – initial implementation of the Click technology to distribute applications. Package your apps with Click at the press of a button
  • Theme engine improvements – a reworked theme engine to make it easier and more flexible to customise the look and feel of your app
  • Unified Actions API – define actions to be used across different Ubuntu technologies: the HUD, App Indicators, the Launcher, the Messaging Menu
  • U1DB integration – the SDK now provides a database API to easily synchronise documents between devices, using the Ubuntu One cloud

Some of the biggest news here is the Cordova support and HTML5 theme, which brings together our goal of making first class HTML5 app that look and feel like native apps.  Cordova support means that apps written using the PhoneGap framework can be easily ported to Ubuntu Touch, and the HTML5 themes, written largely by community developer Adnane Belmadiaf, will allow those apps to match the native SDK components in both the way they look as well as the way the user interacts with them.

The Responsive Layouts, which landed in the daily SDK packages weeks go, gives developers the ability to adjust their application’s GUI dynamically at runtime, depending on the amount of screen space available or any number of other variables.  This is one key to making convergent apps that can adapt to be useful on both small touch screens and large monitors with a keyboard and mouse.

We’ve also put out the first set of Click packaging tools, which will provide an easier way for developers to package and distribute their applications both on their own and through the Ubuntu Software Center.  There is still a lot more work to do before all of the Click infrastructure is in place, but for now developers can start trying getting a feel for it.

All of that and more is now available, so grab the latest SDK packages, read the QML and HTML5 app development tutorials, and get a head start building your convergent Ubuntu application today!

Read more
Michael Hall

We’ve had a great week running the Ubuntu Core Apps Hack Days so far, we’ve seen several new contributors join our development teams, and lots of merge proposals coming in and landing.  But we’re not done yet, we’ll be in #ubuntu-app-devel again today from 9am to 9pm UTC to help anybody who is interested in getting started contributing to these apps.

Today we’ll be focusing on an app that may not be high on the average user’s list of mobile apps, but is indispensable for anybody working on a ported image or writing an app for Ubuntu Touch, that is the File Manager App!

Thanks to reusing the Folder List Model QML Plugin from the Nemo Mobile project, the File Manager developers were able to get a very functional application working in a very short amount of time.  That means that our dogfooding list is already complete!

  • Browse folders. DONE!
  • View files within folders. DONE!
  • View file information. DONE!
  • Copy files. DONE!
  • Delete files. DONE!
  • Move files. DONE!

But don’t let that list fool you, there’s still plenty of work to be done.  The biggest one is making sure that any changes we’ve made to the Nemo plugin are sent back upstream.  If anybody from the Nemo project can help us with this, please find me (mhall119 on IRC).  We also need to make sure we have full Autopilot test coverage, and fix any remaining bugs that have been reported.

Read more
Michael Hall

I hope you all enjoyed spending some time playing Sudoku yesterday, because we’re back to work again for another Ubuntu Core App Hack Day!  As always you can find us in #ubuntu-app-devel on Freenode IRC from 9am to 9pm UTC to answer all of your app hacking questions, help get you setup and started contributing, or just generally discuss how to write Ubuntu Touch apps in general.

Today we leave behind yesterday’s light hearted fun and games and turn to the (only slightly) more serious work of reading news with the RSS Reader app!  Another one of the original Core Apps, the RSS Reader got some unexpected designs from the Canonical Design team that converted it from the typical list-of-headlines to a beautiful organic grid seen here.

Because of these very recent and very major changes to the UI, there’s a lot of work to be done to get all of the previous functionality working again at the same level.  For dogfooding the RSS Reader, these are our goals:

  • Add a feed.
  • Browse feeds. DONE!
  • View a feed.
  • Select an item to view from within the feed.

Because of the major changes, this app can use a lot of help from people who are simply willing to use it and report bugs so that the developers (and all of you new contributors) have a list of things to work on.  Then we need you QML/Javascript hackers to pick things from that list and start making and submitting your fixes.  Finally we need Autopilot tests written or updated for this new look, so I’m looking at you Python guys and gals to lend us a hand too.

Read more
Michael Hall

We’re continuing our Ubuntu Core Apps Hack Days again today in the #ubuntu-app-devel channel on Freenode IRC, from 9am to 9pm UTC.  If you want to learn more about the Core Apps and how you can get involved, jump into the channel and give myself (mhall119), Alan Pope (popey) or David Planella (dpm) a shout.

We’ve been working hard on the Core Apps lately, which is why I’m glad that today we get spend time on something a little more fun: the Sudoku App!  Sudoku was originally developed outside of the Core Apps umbrella, but it progressed so quickly and fit Ubuntu Touch so well, that we invited it’s developer to join the rest of our Core Apps.

Sudoku was so far along before joining the Core Apps, that our dogfooding list was already largely complete:

  • Start a new game DONE!
  • Record and display game statistics DONE!
  • Provide hints DONE!

But even as complete as it is, there are still a few bugs to squash and some final Autopilot tests to write, so if you have QML and Javascript skills or Python skills and can spare a little bit of your time, you can help us put the finishing touches on this classic game.  And if you want to help us, you know, “test” it for a few hours of your day, we’ll totally consider that a contribution too.

Read more
Michael Hall

It’s day 5 of the Ubuntu Core Apps Hack Days!  We’ve seen a tremendous amount of work coming into the Core Apps, and have several new contributors joining the initiative.  We’re keeping that momentum going throughout the week in #ubuntu-app-devel on Freenode from 9am to 9pm UTC, so come and be a part of this exciting project.

Today we’ll turn our attention to the Weather application, another one of the original Core Apps, and another one that is already largely complete.  The Weather app gained multi-city support and a long range forecast early on, and has more recently added the ability to toggle between Celsius and Fahrenheit temperature displays.  Between those, it met all of the criteria we set for dogfooding:

  • Choose a location to view weather from. DONE!
  • View current weather conditions. DONE!
  • View a 10 day forecast. DONE!
  • Configure C or F and display that chosen setting for all locations. DONE!

Since the features are complete, we now need to put the rest of our effort towards polish and quality.  This means we need those of you with QML and Javascript knowledge to help fix the reported bugs in Launchpad, and those of you with Python knowledge to help us finish the Autopilot test coverage, so that we can make this app rock solid and reliable for every day use.

Read more
Michael Hall

Welcome back to another week of Ubuntu Core Apps Hack Days!  As always we will be in #ubuntu-app-devel on Freenode’s IRC from 9am to 9pm UTC to answer all of your questions, help you get your development environment setup, and get started contributing to the Core Apps projects.

To start off this week we will be taking a look at the Calculator app.  The Calculator was another one of the original core apps, made some of the fastest progress and was one of the first to make it onto the device images’ default install.  The Calculator is as simple as it is beautiful, and thanks to this and the hard work put in by it’s developers, that means it’s already feature-complete as far as our dogfooding list was concerned:

  • Create a common calculation (subtraction, addition, multiplication etc). DONE!
  • Create a new calculation. DONE!
  • Keep previous calculations across reboots of the app and device DONE!

But even though the main features are complete, there is still some work left to be done.  Most importantly, with Ubuntu’s focus on quality these days, we need to finish up our Autopilot test coverage, which means we need the help of all your Python developers out there.  We also have a list of reported bugs that need to be fixed, which is going to require somebody with QML and/or Javascript knowledge.  If either of those suits you, please join us in #ubuntu-app-devel today to get started!

Read more
Michael Hall

Today is the last Ubuntu Core Apps Hack Day of the week, but don’t worry because we’re coming back every day next week to cover more of our amazing Core Apps.  Like previous days, we’ll be in #ubuntu-app-devel in Freenode IRC from 9am to 9pm UTC to help you get setup and contributing to these apps.

Today our focus will be the Clock app, one of the original Core Apps, and while you might think that a clock app would be simple, there’s a lot going on in this one.  In addition to showing you the current local time, the Clock app also sports a world clock, a timer, a stopwatch, and soon the ability to set alarms.  Our dogfooding goals for the clock are:

  • View local time. DONE!
  • View times in different cities. DONE!
  • Stopwatch (start, stop, pause, lap) DONE!
  • Set alarm, be notified when the alarm time arrives
  • Set timer, be notified when the time runs out

As you can see, the first 3 are already done and working.  The remaining two are blocked on platform work for setting alarms that will be triggered by the system even when the Clock app itself isn’t active.

But that doesn’t mean there’s nothing for new contributors to do.  One of the Clock’s most active developers, Nekhelesh Ramananthan, has helpfully provide me with a list of things that he needs your help with:

  • Getting autopilots tests ready for the timer, stopwatch and clock
  • Bug fixes for timer, clock and world clock
  • Caching support for sunrise/sunset times. The sunrise/sunset should only be retrieved once a day or when the location is changed. I will create a bug report to track this and also tag it hackday.

He even went so far as to tag bugs that would make good hack day targets and provide some insight into how to solve them, so you can go grab one from this list and give it a shot.  Some of these will require QML and Javascript knowledge, others are for needed Autopilot tests that need Python, so we’ve got something for everybody.  Nekhelesh (nik90) will also be in the IRC channel tomorrow to help you work on these items and review your contributions.

Read more
Michael Hall

Welcome to day 2 of the Ubuntu Core Apps Hack Days!  Once again we will be in #ubuntu-app-devel on Freenode IRC from 9am to 9pm UTC to help you get started contributing to Ubuntu Touch’s Core Apps.

Today we’re going to turn our attention to the Music app.  This app is a little bit different in the fact that it didn’t start off as a Core App, or even as a single app.  Several people had started on music apps or mockups for music apps, so we brought them together to combine their efforts into a single app.  Because of this, instead of progressing through the usual steps of defining requirements, designing user experience and then implementing features, we had all three things coming together at the same time.  This put the Music app both ahead and behind the others in different ways.

The feature targets we set out for dogfooding the Music app are all larely half-done, as a result of how the app is the amalgamation of several formerly independent efforts.  You’ll find that many of them are complete on the back-end but need to be integrated with the new front-end work, or vice-versa.  As such, this is a project where a little bit of effort can make a very large impact.  To get the Music app ready, we want to get the following working:

  • Read in music from ~/Music.
  • Browse a list of artists.
  • Browse albums by an artist.
  • Browse songs by an artist.
  • Play a song, with transport controls (Play, Stop/Pause, Skip Back/Forwards).
  • Shuffle.
  • Bonus: pull in album cover/details from the net.

To do these, you’ll need some working knowledge of QML and Javascript.  The Music app also re-uses the File Manager App’s plugin to find and read metadata of music files, so if you have C++ experience there are things you can work on there too.  And of course our Python developers can help by working on Autopilot tests to make sure that the above features work (and continue to work) as expected.

Just like the Calendar app, there are some things that we want the Music app to do that require work to be done on the platform side.  Specifically, we want the Music app to continue playing songs when you switch away from it or turn off the phone’s screen.  Currently the platform will suspend the Music app’s process when this happens, so playback stops.  However Canonical’s Jim Hodapp, who has already done a lot of work on multimedia integration and gstreamer, will soon begin work on a system-wide media playback service that the Music app will be able to hand songs off to.  Until then we will continue using the Qt Multimedia APIs to play songs while the application is still active.

Read more
Michael Hall

Today is the first of the Ubuntu Core Apps Hack Days, where we will focus on one app per day to help get new contributors setup, walk people though installing and testing the Core apps, filing bug reports and knocking out some of the outstanding feature requirements needed to get the Core Apps ready for release.

The Hack Day activity will happen in the #ubuntu-app-devel channel on Freenode IRC.  We will have dedicated helpers (myself, dpm and popey) from 9am to 9pm UTC to answer your questions, help get your setup, and review your code.  We will also have developers of the Core Apps themselves joining the channel as they can to help with your contribution.

Today we’re going to be focusing on the Calendar application, one of the original Core apps and also one of those that is already in the default device images.  Our goal for today is to get the Calendar ready for every-day use (dogfooding), which means we need to get the following features working:

  • Browse by month
  • Browse by week
  • Browse by day
  • Bonus: sync Google Calendar

To help with these, you’ll need to know some QML and/or Javascript.  You can read through our Core Apps Development Guide to get started.

In addition to these required features, we also have a load of new designs to improve the functionality and user experience for the app.  If you’re feeling like taking on a slighter larger task, and you have a good handle on building front-end functionality in QML, here’s a good opportunity to leave your mark.

We also want to fill out our automated test coverage, of which there are currently five bugs that need somebody to work on them.  Autopilot tests are all written in Python, so this is a great way for our large community of Python developers to get involved with the Core Apps projects.

Read more
John Pugh

Oh boy. June stormed in and the May installment is late! Not much changed at the top. The Northern Hemisphere spring storms keep Stormcloud at the top with Fluendo DVD staying put at the number two spot. Steam continues its top of the chart spree on the Free Top 10.

Want to develop for the new Phone and Tablet OS, Ubuntu Touch? Be sure to check out the “Go Mobile” site for details.

Top 10 paid apps

  1. Stormcloud
  2. Fluendo DVD Player
  3. Filebot
  4. Quick ‘n Easy Web Builder
  5. MC-Launcher
  6. Mini Minecraft Launcher
  7. Braid
  8. UberWriter
  9. Drawers
  10. Bastion

Top 10 free apps

  1. Steam
  2. Motorbike
  3. Master PDF Editor
  4. Youtube to MP3
  5. Screencloud
  6. Nitro
  7. Splashtop Remote Desktop App for Linux
  8. CrossOver (Trial)
  9. Plex Media Server
  10. IntelliJ IDEA 12 Community Edition

Would you like to see your app featured in this list and on millions of user’s computers? It’s a lot easier than you think:

Notes:

  • The lists of top 10 app downloads includes only those applications submitted through My Apps on the Ubuntu App Developer Site. For more information about of usage of other applications in the Ubuntu archive, check out the Ubuntu Popularity Contest statistics.
  • The top 10 free apps list contains gratis applications that are distributed under different types of licenses, some of which may not be open source. For detailed license information, please check each application’s description in the Ubuntu Software Center.

Follow Ubuntu App Development on:

Social Media Icons by Paul Robert Lloyd

Read more
Michael Hall

This is my third Core Apps update, you can go back and read about the Clock and Calendar apps if you missed them.  Today I’m going to show off the Calculator app.

Calculator Features

Basic Functions

The Calculator does exactly what you would expect a calculator to do.  It’s a four-function calculator and does it’s job perfectly well.  But it has a few unique features that make it so much more useful.  Using the old paper-roll calculators as inspiration, the calculator lets you label the numbers in your calculation, so you can go back and see “7 what?”.  When you’re done with a calculation, instead of clearing it off, you simply drag upwards to “tear off” that individual calculation.

Calculation History

Just because you’ve torn off a calculation, doesn’t mean you’ve thrown it away.  Instead, your calculation is stored in a browseable history.  This makes the labels even more useful, because you can go back hours, days, even months to an old bit of calculating.  You can even tap on any number in any of those calculations to insert it into your current one.  If you really are done with a calculation, you can swipe it to the right or left to delete it from your history.

Visual Designs

The Design team says we’ll have visual designs for the Calculator later this week, so the developers will be able to start on implementing those.  Keep an eye on the design team blog and Google+ to see them when they come out.

Release Schedule

The release schedule for the Calculator is the same as the Clock.  It’s already well past what would be considered an Alpha release, so we just called May for that milestone.  Going forward, we plan on delivering a Beta in July that includes the visual designs, followed by a final release in August.

Read more
Michael Hall

Yesterday I posted the first in a new series of Core App Update, featuring the Clock App’s development.  Today I’m going to cover the status of the Calendar

Calendar Features

Calendar View

The calendar now provides several different views you can choose from.  You start off with a full month at the top, and your events for the day below.  Swiping left and right on the month will take you back or forward a month at a time.  Swiping left or right on the bottom half will take you back and forward a day at a time.

Pull the event area down and let it go, and the month will collapse down into a single week. Now swiping left and right there will move you back and forward a week at a time.  Pull down and let it go again and it will snap back to showing the full month.

Finally, you have an option in the toolbar (swipe up from the bottom edge) to switch from an event list to a timeline view of your events.

Adding Events

You can current add events to the calendar app, and they will be stored in a local database.  However, after discussions with Ubuntu Touch developers, the Calendar team is refactoring the app to use the Qt Organizer APIs instead.  This will allow it to automatically support saving to Evolution Data Server as a backend as soon as it’s integrated, making calendar events available to other parts of Ubuntu such as the datetime indicator.  Being able to import your ical feeds is also on the developer’s TODO list.

Visual Designs

We don’t have new visual designs for the Calendar yet, but it is one of the apps that the Design team has committed to providing one for.  Now that they are done with the Clock’s visual designs, I hope to see these soon for the Calendar.

Release Schedule

Once again I worked with the Calendar developers to set release targets for their app.  The alpha release is targeted for month-2, this month, and should include the switch to Qt Organizer.  Then we plan on having a Beta release in August and a Final in September.

Read more