Canonical Voices

Posts tagged with 'community'

Michael Hall

It may surprise some of you (not really) to learn that in addition to being a software geek, I’m also a sci-fi nerd. One of my current guilty pleasures is the British Sci-Fi hit Doctor Who. I’m not alone in this, I know many of you reading this are fans of the show too.  Many of my friends from outside the floss-o-sphere are, and some of them record a weekly podcast on the subject.

Tonight one of them was over at my house for dinner, and I was reminded of Stuart Langridge’s post about making a Bad Voltage app and how he had a GenericPodcastApp component that provided common functionality with a clean separation from the rest of his app. So I decided to see how easy it would be to make a DWO Whocast app with it.  Turns out, it was incredibly easy.

Here are the steps I took:

  1. Create a new project in QtCreator
  2. Download Stuart’s GenericPodcastApp.qml into my project’s ./components/ folder
  3. Replace the template’s Page components with GenericPodcastApp
  4. Customize the necessary fields
  5. Add a nice icon and Suru-style gradients for good measure

That’s it! All told it took my less than 10 minutes to put the app together, test it, show it off, and submit my Click package to the store.  And the app doesn’t look half bad either.  Think about that, 10 minutes to get from an idea to the store.  It would have been available to download too if automatic reviews were working in the store (coming soon).

That’s the power of the Ubuntu SDK. What can you do with it in 10 minutes?

Update: Before this was even published this morning the app was reviewed, approved, and available in the store.  You can download it now on your Ubuntu phone or tablet.

Read more
Michael Hall

Yesterday, in a conference call with the press followed immediately by a public Town Hall with the community, Canonical announced the first two hardware manufacturers who are going to ship Ubuntu on smartphones!

Now many have speculated on why we think we can succeed where so many giants have failed.  It’s a question we see quite a bit, actually.  If Microsoft, RIM/Blackberry and HP all failed, what makes us think we can succeed?  It’s simple math, really.  We’re small.  Yeah, that’s it, we’re just small.

Unlike those giants who tried and failed, we don’t need to dominate the market to be successful. Even just 1% of the market would be enough to sustain and continue the development of Ubuntu for phones, and probably help cover the cost of developing it for desktops too.  The server side is already paying for itself.  Because we’re small and diversified, we don’t need to win big in order to win at all.  And 1%, that’s a very reachable target.

 

Read more
Michael Hall

Today I reached another milestone in my open source journey: I got my first package uploaded into Debian’s archives.  I’ve managed to get packages uploaded into Ubuntu before, and I’ve attempted to get one into Debian, but this is the first time I’ve actually gotten a contribution in that would benefit Debian users.

I couldn’t have done with without the the help and mentorship of Paul Tagliamonte, but I was also helped by a number of others in the Debian community, so a big thank you to everybody who answered my questions and walked me through getting setup with things like Alioth and re-learning how to use SVN.

One last bit of fun, I was invited to join the Linux Unplugged podcast today to talk about yesterday’s post, you can listen it it (and watch IRC comments scroll by) here: http://www.jupiterbroadcasting.com/51842/neckbeard-entitlement-factor-lup-28/

Read more
Michael Hall

Today was a distracting day for me.  My homeowner’s insurance is requiring that I get my house re-roofed[1], so I’ve had contractors coming and going all day to give me estimates. Beyond just the cost, we’ve been checking on state licensing, insurance, etc.  I’ve been most shocked at the differences in the level of professionalism from them, you can really tell the ones for whom it is a business, and not just a job.

But I still managed to get some work done today.  After a call with Francis Ginther about the API website importers, we should soon be getting regular updates to the current API docs as soon as their source branch is updated.  I will of course make a big announcement when that happens

I didn’t have much time to work on my Debian contributions today, though I did join the DPMT (Debian Python Modules Team) so that I could upload my new python-model-mommy package with the DPMT as the Maintainer, rather than trying to maintain this package on my own.  Big thanks to Paul Tagliamonte for walking me through all of these steps while I learn.

I’m now into my second week of UbBloPoMo posts, with 8 posts so far.  This is the point where the obligation of posting every day starts to overtake the excitement of it, but I’m going to persevere and try to make it to the end of the month.  I would love to hear what you readers, especially those coming from Planet Ubuntu, think of this effort.

[1] Re-roofing, for those who don’t know, involves removing and replacing the shingles and water-proofing paper, but leaving the plywood itself.  In my case, they’re also going to have to re-nail all of the plywood to the rafters and some other things to bring it up to date with new building codes.  Can’t be too safe in hurricane-prone Florida.

Read more
Michael Hall

Quick overview post today, because it’s late and I don’t have anything particular to talk about today.

First of all, the next vUDS was announced today, we’re a bit late in starting it off but we wanted to have another one early enough to still be useful to the Trusty release cycle.  Read the linked mailinglist post for details about where to find the schedule and how to propose sessions.

I pushed another update to the API website today that does a better job balancing the 2-column view of namespaces and fixes the sub-nav text to match the WordPress side of things. This was the first deployment in a while to go off without a problem, thanks to  having a new staging environment created last time.  I’m hoping my deployment problems on this are now far behind me.

I took a task during my weekly Core Apps update call to look more into the Terminal app’s problem with enter and backspace keys, so I may be pinging some of you in the coming week about it to get some help.  You have been warned.

Finally, I decided a few weeks ago to spread out my after-hours community a activity beyond Ubuntu, and I’ve settled on the Debian new maintainers Django website as somewhere I can easily start.  I’ve got a git repo where I’m starting writing the first unit tests for that website, and as part of that I’m also working on Debian packaging for the Python model-mommy library which we use extensively in Ubuntu’s Django website. I’m having to learn (or learn more) Debian packaging, Git workflows and Debian’s processes and community, all of which are going to be good for me, and I’m looking forward to the challenge.

Read more
Michael Hall

We wrapped up the last day of our sprint with a new team photo.  I can honestly say I couldn’t think of a better group of people to be working with.  Even the funny looking guy in the middle.

I mentioned that earlier in the week we decided on naming SDK releases after distro releases, and with that information in hand I spent my last day getting the latest API docs uploaded, so if you’re writing apps for the latest device images, you’ll want to use these: http://developer.ubuntu.com/api/qml/sdk-14.04/

In the coming week I’ll be working to get the documentation publishing scripts added to the automated build and testing process, so those docs will be continuously updated until the release of Ubuntu 14.04, at which point we’ll freeze those doc pages and start publishing daily updates for 14.10.  Being able to publish  all of those docs in a matter of minutes was a particularly thrill for me, after working for so long to get that feature into production.  It certainly proves that it was the right approach.

Read more
Michael Hall

Second to last day of the sprint, and we’ve been shifting gears from presenting ideas and brainstorming to making solid plans and bringing all the disparate pieces together.  The result is looking very, very promising.

I started out this morning by updating my Nexus 4 to build 166, which brings some improvements to the Unity 8 and system apps.  I’m still poking around to discover what’s new.

I had a handful of great conversations with the Jamie (security) and Ken (content-hub) about how to deliver creative content via click packages in the new store.  It looks like wallpapers will be relatively easy to support, and Ken and I (mostly Ken) will be working on adding that to the Click installer and System Settings.  Theme support is unfortunately going to be more difficult, since our QML themes are full QML themselves, and can run their own code, which makes them a security concern. We’re going to try and support a safe subset of styling to be delivered via Click packages, but that’s not likely to happen this cycle.

After lunch we had another set of presentations, this time from Florian Boucault on the SDK team about app performance.  After briefly covering performance goals we need to meet to make our UI as smooth and responsive an iOS, he stunned us all by showing off live performance graphs overlaid on top of one of the Core Apps (sadly I didn’t get a picture of that) so you can see the CPU and GPU usages while interacting with the app.  This wonderful little piece of magic should be landing in device images in the next couple of weeks, and I for one can not wait to try it out. In the mean time, he was nice enough to sit down with me and walk me through using QtCreator’s Analyse tab to see what parts of my own app might be using more resources than then should.

Among the sessions I wasn’t able to attend today: More HTML5 device APIs are coming online, contacts syncing via the Online Accounts provider for Google got it’s first cut, the SDK’s StateSaver component got some finishing work done, and AppArmor optimizations that will speed up boot times.

Read more
Michael Hall

Today we had a lot of good discussions around app development, starting off with an update on the state of GoLang support and what was needed to get the Go/QML bridge packaged and available for people to start using.

From there we moved on to the future of Content Hub, which is really set to reach it’s full potential now and we will hopefully see a wide range of system, core and 3rd party apps providing it with content.

After lunch Nick gave us all a quick lesson in how to properly use Autopilot, something I think we’re all going to become more familiar with in the coming months.  The key takeaway: Don’t Sleep.

Then we discussed QtCreator itself, and our various plugins for it.  We identified some easy fixes, and did a lot of brainstorming on how to attack the harder ones.  We saw the new packaging and cross-compilation support that’s being added to it now. Zoltan topped it all off by giving us a very short demonstration, going from the creation of a new project all the way, through creating a package, running package verification tests on it, copying it onto a phone and installing it, all in about 30 seconds!

We also discovered that the current SDK packages in the PPA were broken for Saucy and older releases (Trust was okay).  Daniel, Zoltan and David Barth spent much of the day intensely debugging the problem, providing a fix, shepherding those fixes though Launchpad and into the PPAs so that we could get it all working by the end of the day.  We then set aside time for a new session where we discussed what happened and what we can do to prevent it from happening again.  I’m pleased to say that some of those steps have already been implemented, and the rest will soon follow.

Finally we wrapped up the evening with chicken wings and beer, plus another fantastically entertaining card game courtesy of Alan Pope’s deranged humor.

Read more
Michael Hall

Another day packed with meetings and discussions today.  Here’s some of the highlights:

We decided that SDK version numbering should mirror distro numbering, so instead of Ubuntu SDK 2.0 we will have Ubuntu SDK 14.04.

We worked out more details on the next App Developer Showdown, including what additions and changes to the SDK and store will be ready for the contest, and what prizes we will try to get for it.

After reviewing the current documentation on developer.ubuntu.com, we identified some areas where we need to improve it before the App Showdown.

Alan Pope and I guest starred in Jono’s weekly Q&A session, from the hotel bar, which was loads of fun.  Watch the full video to hear more about what we’ve been discussing here and maybe find answers to some of your own questions.

Read more
Michael Hall

As I mentioned in my last post, I’m with the rest of my team in Orlando this week for a sprint. We are joined by many other groups from Canonical, and unfortunately we didn’t have enough meeting rooms for all of the breakout session, so the Community team was forced (forced I tell you) to meet on the patio by the pool.

We have had a lot of good discussions already, and we have four days left.  You’ll start to seem some of the new ideas and changes going into effect next week.  Until then, stay tuned.

Read more
Michael Hall

Last week I posted on G+ about the a couple of new sets of QML API docs that were published.  Well that was only a part of the actual story of what’s been going on with the Ubuntu API website lately.

Over the last month I’ve been working on implementing and deploying a RESTful JSON service on top of the Ubuntu API website, and last week is when all of that work finally found it’s way into production.  That means we now have a public, open API for accessing all of the information available on the API website itself!  This opens up many interesting opportunities for integration and mashups, from integration with QtCreator in the Ubuntu SDK, to mobile reference apps to run on the Ubuntu phone, or anything else your imagination can come up with.

But what does this have to do with the new published docs?  Well the RESTful service also gives us the ability to push documentation up to the production server, which is how those docs got there.  I’ve been converting the old Django manage.py scripts that would import docs directly into the database, to instead push them to the website via the new service, and the QtMultimedia and QtFeedback API docs were the first ones to use it.

Best of all, the scripts are all automated, which means we can start integrating them with the continuous integration infrastructure that the rest of Ubuntu Engineering has been building around our projects.  So in the near future, whenever there is a new daily build of the Ubuntu SDK, it will also push the new documentation up, so we will have both the stable release documentation as well as the daily development release documentation available online.

I don’t have any docs yet on how to use the new service, but you can go to http://developer.ubuntu.com/api/service/ to see what URLs are available for the different data types.  You can also append ?<field>=<value> keyword filters to your URL to narrow the results.  For example, if you wanted all of the Elements in the Ubuntu.Components namespace, you can use http://developer.ubuntu.com/api/service/elements/?namespace__name=Ubuntu.Components to do that.

That’s it for today, the first day of my UbBloPoMo posts.  The rest of this week I will be driving to and fro for a work sprint with the rest of my team, the Ubuntu SDK team, and many others involved in building the phone and app developer pieces for Ubuntu.  So the rest of this week’s post may be much shorter.  We’ll see.

Happy Hacking.

Read more
Michael Hall

So it’s not February first yet, but what the heck I’ll go ahead and get started early.  I tried to do the whole NaBloPoMo thing a year or so ago, but didn’t make it more than a week.  I hope to do better this time, and with that in mind I’ve decided to put together some kind of a plan.

First things first, I’m going to cheat and only plan on having a post published ever week day of the month, since it seems that’s when most people are reading my blog (and/or Planet Ubuntu) anyway, and it means I don’t have to worry about it over the weekends.  If you really, really want to read a new post from me on Saturday……you should get a hobby.  Then blog about it, on Planet Ubuntu.

To try and keep me from forgetting to blog during the days I am committing to, I’ve scheduled a recurring 30 minute slot on my calendar.  UbBloPoMo posts should be something you can write up in 30 minutes or less, I think, so that should suffice.  I’ve also scheduled it for the end of my work day, so I can talk about things that are still fresh in my mind, to make it even easier.

Finally, because Europe is off work by the end of my day, I’m going to schedule all of my posts to publish the following morning at 9am UTC (posts written Friday will publish on Monday morning).  I’ve been doing this for a while with my previous posts, and it seems to get more views when I do. For example, this post was written yesterday, but posted while I was still sound asleep this morning.  The internet is a magical place.

So, today being Friday, I will be writing my first actual UbBloPoMo entry this evening, and it will post on Monday February 3rd.  What will it be about I wonder?  The suspense is killing me.

 

Read more
Michael Hall

A funny thing happened on the way to the forums, I was elected to serve on the Ubuntu Community Council. First of all I would like to thank those who voted for me, your support is a tremendous morale booster, and I look forward to representing your interests in the council.  I’d also like to congratulate the other council members on their election or re-election, I can’t imagine a better group of people to be working with.

That’s it, short and sweet.  Thanks again and let’s all get back to building awesome things!

Read more
Michael Hall

Last month I announced a contest to win a new OPPO Find 5 by porting Ubuntu Touch to it.  Today I’m pleased to announce that we have a winner!

Below is a picture tour of what Ubuntu Touch running on the device, along with descriptions of what works and what doesn’t. If you’re impatient, you can find links to download the images and instructions for flashing them here.

First a disclaimer, these aren’t professional pictures.  They were taken with my Nexus 4, also running Ubuntu Touch, and the colors are slightly shifted horizontally for some reason.  I didn’t notice it until I had already gone through and taken 58 pictures and downloaded them to my laptop.  Apologies for that.  But you can still get a feel for it, so let’s carry on!

Edge Swiping

The touch screen and edge swiping worked perfectly, as was neatly demonstrated by going through the new introduction tour.

Dash & Launcher

The Dash also works exactly as expected.  This build has a low enough pixel/grid-unit, and high enough resolution, that it fits 4 icons per row, the same as you get on Asus Nexus 4. The icons on the Launcher felt a little small, but everything there worked perfectly too.

Indicators

The indicators were missing some functionality, which I assume is a result of Ubuntu Touch not working with all of the Find 5′s hardware.  Specifically the WiFi isn’t working, so you don’t see anything for it in the Network indicator, and the screen brightness slider was non-functional in the Battery indicator.  Sound, however, worked perfectly.

Apps

Not having WiFi limited the number of apps I could play with, but most of the ones I could try worked fine.  Sudoku and Dropping letters don’t work for some reason, but the Core Apps (except Weather, which requires network access) worked fine.

 

Hardware

As I already mentioned, WiFi doesn’t work on this build, nor does screen brightness.  The camera, however, is a different story. Both the front and back cameras worked, including the flash on the back.

Final Thoughts

While this build didn’t meet all the criteria I had initially set out, it did so much more than any other image I had received up until now that I am happy to call it the winner.  The developer who built it has also committed to continuing his porting work, and getting the remaining items working.  I hope that having this Find 5 will help him in that work, and so all Find 5 owners will have the chance to run Ubuntu Touch on their device.

Read more
Michael Hall

Do you want a new OPPO Find 5?  Of course you do!  Well the awesome team at OPPO have given us a brand new Find 5 (x909 to be exact) for us to give you.  So here’s the deal, the first person to provide a working Ubuntu Touch image for this device gets to keep it.

Last weekend both Ubuntu and OPPO had booths at the first ever XDA Developers Conference in Miami.  While discussing both of our new products, the idea came up to hold a porting contest to get Ubuntu Touch running on the Find 5.  Jono announced the initial contest during his presentation on Saturday, with an initial challenge to have a winner claim the prize during the conference itself.  Despite having three separate developers build images and flash them onto the phone, none were able to boot into Ubuntu Touch.

So now we’re extending the contest and making it available to everybody!  To enter, you will need to send me an email containing links to the necessary files and detailed step-by-step direction for loading them on the phone.  I don’t have much experience with flashing ROMs, so treat me like a complete newbie when writing your instructions.  If your images don’t work, I will send you the output from adb logcat as well as any other information you request.  If your images do work, and meet the requirements below, I’ll be asking for a mailing address so I can send you your prize!

In order to win your phone, you need to get Ubuntu Touch running on the OPPO Find 5. Not just booting, but running, and is a way that makes it usable for other Find 5 owners.  So I’ve set out the following things that I will be checking for:

  • The phone boots into Ubuntu Touch (obviously)
  • I can launch multiple apps and switch between them
  • I can make phone calls (I have a SIM that works)
  • I can send and receive SMS
  • I can connect to Wifi, using WPA2
  • The screen goes to sleep when pressing the power button or after the set timeout period, and wakes up again when pressing the power button
  • I can play audio with the Music app
  • I can take pictures with the front and rear cameras

So, you want to take a crack at it?  Well the first step is to read the Ubuntu Touch Porting Guide.  Once you have an image you want me to try, send an email to mhall119@gmail.com with “OPPO” somewhere in the subject (just to help me out, I get a lot of email).  In that email include all of the steps necessary to download and install your image.  Again, be detailed, I’m a newb.  If you image meets the above requirements, I’ll put it in the mail to you!  After that, we can work on getting your image available for easy installation via our phablet-flash tool, so all the other OPPO Find 5 owners can try it too.

Read more
Michael Hall

When we announced the Ubuntu Edge crowd-funding campaign a week ago, we had one hell of a good first day.  We broke records left and right, we sold out of the first round of perks in half the time we expected, and we put the campaign well above the red line we needed to reach our goal.  Our second day was also amazing, and when we opened up a new round of perks at a heavy discount the third day we got another big boost.

But as exciting and record-breaking as that first week was, we couldn’t escape the inevitable slowdown that the Kickstarter folks call “the trough“.  Our funding didn’t stop, you guys never stopped, but it certainly slowed way down from it’s peak.  We’ve now entered a period of the crowd-funding cycle where keeping momentum going is the most important thing. How well we do that will determine whether or not we’re close enough to our goal for the typical end-of-cycle peak to push us over the edge.

And this is where we need our community more than ever, not for your money but for your ideas and your passion.  If you haven’t contributed to the campaign yet, what can we offer that would make it worthwhile for you?  If your friends haven’t contributed yet, what would it take to make them interested?  We want to know what perks to offer to help drive us through the trough and closer to the Edge.

Our Options

So here’s what we have to work with.  We need to raise about $24 million by the end of August 21st.  That’s a lot, but if we break it down by orders of magnitude we get the following combinations:

  • 1,000,000 people giving $24 each
  • 100,000 people giving $240 each
  • 10,000 people giving $2,400 each
  • 1,000 people giving $24,000 each

Now finding ways to get people to contribute $24 are easy, but a million people is a lot of people.  1,000 or even 10,000 people isn’t that many, but finding things that they’ll part with $2,400 for is challenge, even more so for $24,000.

That leaves us with one order of magnitude that I think makes sense. 100,000 people is a lot, but not unreasonable.  Previously large crowd-funding campaigns have reached 90,000 contributors, while raising only a fraction of what we’re trying for, so that many people is an attainable goal.  Plus $240, while more than an impulse purchase, still isn’t an unreasonable amount for a lot of people to part with, especially if we’re giving them something of similar real value in return.

Now it doesn’t have to be exactly $240, but think of perk ideas that would be around this level, something less than the cost of a phone, but more than the Founder levels.

Our Limits

Now, for the limitations we have.  I know everybody wants to see $600 phones again, and that would certainly be an easy way to boost the campaign.  But the manufacturing estimate we have is that $32 million will build only 40,000 phones.  That’s $800 per phone.  That’s something we can’t get away from.  Whatever we offer as perks, we have to average at least $800 per phone.  We were able to offer perks for less than that because we projected the other perk levels to help make up the difference.  So if you’re going to suggest a lower-priced phone perk, you’re going to have to offer some way to make up the difference.

You also need to consider the cost of offering the perk, as a $50 t-shirt doesn’t actually net $50 once you take out the cost of the shirt itself, so we can’t offer $240 worth of merchandise in exchange for a $240 contribution. But you could probably offer something that costs $20 to make in exchange for a $240 contribution.

Our Challenge

So there’s the challenge for you guys.  I’ve been thinking of this for over a week now, and have offered my ideas to those managing the campaign.  Often they pointed out some flaw in my reasoning or estimates, but some ideas they liked and might try to offer.  I can’t promise that your ideas will be offered, but I can promise to put them in front of the people making those decisions, and they are interested in hearing from you.

Now, rather than trying to cultivate your ideas here on my blog, because comments are a terrible place for something like that, I’ve created a Reddit thread for you.  Post your ideas there as comments, upvote the ones you think are good, downvote the ones you don’t think are possible, leave comments and suggestions to help refine the ideas.  I will let those running the campaign know about the thread, and I will also be taking the most popular (and possible) ideas and emailing them to the decision makers directly.

We have a long way to go to reach $32 million, but it’s still within our reach.  With your ideas, and your help, we will make it to the Edge.

Reddit: http://www.reddit.com/r/Ubuntu/comments/1jqyas/submit_your_ubuntu_edge_campaign_perk_ideas_here/

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