CodeBucket: An iOS based Bitbucket Application

I’d like to introduce an iOS application I’ve worked extremely hard on for the past few months: CodeBucket. CodeBucket is the best way to browse and maintain your Bitbucket repositories on any iPhone, iPod Touch, and iPad device! Keep an eye on your projects with the ability to view everything from followers to the individual file diffs in the latest change set. CodeBucket brings Bitbucket to your finger tips in a sleek and efficient design.

 

Update 6/2/2013

I have finally released the source for the CodeBucket project under the Apache 2.0 License. You can find the source code here on GitHub.

 

Inspiration

As I’ve stated before, I’m a huge fan of Bitbucket. I believe it has immense potential. However, for the life of me, I could not find an iOS app that I was happy with. There were already a few out there at the time of developing my application: Issue Bucket and Bucketly are two that come to mind. Unfortunately, I wasn’t particularly satisfied with their design and feature set. With that in mind, I set out to design my own application: CodeBucket. I designed CodeBucket to incorporate as many features as the Bitbucket REST API provided. This, coupled with a efficient mobile design, allows the user to monitor repositories, provide issue feedback, search source code, and much more! My goal is that this application will embody the entire feature set that the Bitbucket website provides; I want this to be a complete mobile solution. I am extremely dedicated to this project and am currently working with Bitbucket to expose new API’s to extend the feature set of CodeBucket!

 

Design

Here’s a few images of the application in action:

 

Support

Please contact me if there is any comments, questions, issues, or features, you’d like to see addressed. I will be happy to work with anyone who provides feedback! 

 

Open Source

I will be providing the entire source tree for this project as well as a design document showing how I created every aspect of the application. As this was my first, I am currently re-factoring and cleaning up the code so views are better able to follow. Once that is complete, probably within a week or two, I will open source the repository!

 

 

58 thoughts on “CodeBucket: An iOS based Bitbucket Application

  1. Seems I’m one of the early adopters that I bought the app on 31/08 !
    I must start by saying that your app seems the best looking and feature packed BitBucket client for iOS, and is also universal!

    At the moment I have to stay stuck with Bucketly to create/edit issues, this feature will be inserted in the future?

    Thanks in advance and again, very good job.

    (Also thanks to open you repo. Will be very interesting to understand how you made this app and also a great way to teach me to improve my iOS projects!)

    1. Hey Lorenzo,
      thank you very much for your support. I really appreciate it! I’m actually putting the finishing touches on my next version which has issue creation and editing support as well as a few other features like improved code/diff viewer, better support for list pagination, and a few others! The new version should make it’s way through the app store approval within the week.

      If you have any ideas of features you’d like to see implemented, or have any suggestions on how to make the app better please let me know. I’m definitely open for suggestions and want to make this application the best it can be!

      Thanks again for your support,
      Dillon

  2. Bring on the issue creation ;) I was about to ask for a refund til I read this thread. Your app certainly has the best UX so far, so keep it up.

    1. Hey Daniel,
      glad you like the App. The update with issue editing support is still in review with Apple but should hopefully be approved soon! Sorry for the wait. Let me know if there’s any features you’d like to see implemented. I am extremely open to suggestions and want to make this App as efficient as possible for the user. I really appreciate the support!

      1. No worries, mate. Appreciate your willingness to have constant feedback. Once the issue update comes through, I’ll start hitting the mobile app and give you additional feedback :)

      2. Have been using this to add comments to various issues while on the move. Nice. Can’t wait for the update.

        1. Hey Daniel, glad you like it! I’m a little disappointed in Apple that it’s taking so long but I’ve been told with iOS6 coming out they’re backed up with reviewing applications. Regardless, should be out soon and I’m pretty confident you’ll like it too. I got some big plans for the next version! I’m hoping to add a customizable navigation feature so you can customize the slide out navigation buttons as well as add “quick links” to repos, issues, etc. I think it’ll really make the app efficient!

  3. Nice looking app. I make heavy use of feature branches. Would like to see commits just for a branch or at least branch commits flagged with the branch name in the commit stream.

    1. Excellent idea! I’ll put that in the next version. Thanks for the feedback! Anything else you’d like to see added or any part of the app now you think needs work or could be more efficient? Thanks again for the feedback!

  4. Hi, i bought the app. One (big) issue i have is, that events for repositories that i follow are not shown. I get a redirected error. Is this something i can fix myself?

    1. Hey Arnoud,
      does this happen for every repository you follow? What repository is it (if it’s public)? Maybe I can try following it and attempt to observe what you’re seeing. There are some issues with the BitBucket API that I find ever often and am working with the BB guys to hopefully resolve it.

  5. Hey mate, just got the update as soon as it came out. About time, hey? (all that Apple busyness) I have control over my issues. Nice. This will help a lot when I get ideas walking around and stuff. Awesome work. It may be a straightforward app: but I appreciate a lot of effort that goes into the little details of design that make all the difference.

    1. I’m glad it’s working for you. I really appreciate the feedback! Just trying to make a product that I’m proud to put my name on! I’ll keep working hard to make it great.

  6. Been meaning to follow up on this: when I login to any of my accounts, I get a “The server is unable to locate the requested resource” (Events is the title of the page). All is fine when I am navigating between repos, etc. So what’s giving rise to that message? :)

      1. Ok, maybe not everything else seems fine so far :) I am getting this same error message when I try to browse wikis in my repos.

        1. Fixed both the problems and posted the fix to Apple for distribution. There’s apparently an issue with BitBucket’s API in that some fields are case sensitive, and some are not. For example, you are capable of logging into BitBucket with a case insensitive username but any proceeding requests will fail because other API’s require that the username be case sensitive. Regardless, I’ve created a fix for these instances in the App and posted it to the app store!

  7. Feature request: with browsing repos, it would be great to be able to sort them simply (e.g. last updated, ascending alphabetically)

  8. Feature request: filter issues, e.g. it would be great to filter out resolved issues / filter on specific types of issues. Alternatively, group according issue type or status (so at least the issues end up in discrete clear piles).

  9. Hey, i really like your App, esp. the detail-view of issues.
    Could you give a little more detail what the ‘Groups’-Button is for?

    1. Thanks Paul. More good things to come! You can check out groups you created/belong to by going to your Account (log in to BitBucket web page and click on your name on the upper right.) You can then click on the “Groups” button on the right hand side of the page. Any repository in BitBucket can have groups that have multiple people in it. This way, you can just set permissions for the group instead of individual users.

  10. I am seeing the error “The server is unable to locate the requested resource” everywhere. I am able to login, but after that, the message shows up trying to load my own profile.

    There is only one page that I can see which is the “Following” page under “Repositories”. And, even then, trying to view anything after selecting one of the repositories returns a “Redirect” page.

    Any solution to this?

    1. Hey Ryan,
      I’m sorry to hear you’re having trouble. Fortunately, I have a few solutions for you. The problem occurs because, after reading the API documentation, I was under the assumption that case sensitivity for usernames did not matter. Apparently, logging in is case insensitive but not check your profile, or events, etc… I have filed a ticket with Bitbucket to attempt to correct this inconsistency. Regardless of the problem, there are two solutions: I have submitted a new version of the App which attempts to work around this problem which is currently in review from Apple (You must login to the App with the exact username as your Bitbucket. Case sensitivity matters). So, hopefully, within a week you can download the new App and this problem will be alleviated. The second solution is that you can change your username to be all lowercase. This doesn’t really affect the URLs to your repositories since they are case insensitive as well. You can do this by loggin into the Bitbucket website and going to “Account” then “Change username”. Just change it to an all lowercase version. You can change it back as soon as you receive the new version.

      I’m sorry this has inconvenienced you. If these solutions do not sound appropriate I’d be happy to provide you with a refund. However, if you do choose to keep the App I believe you will be surprised at the features I have coming for it!

  11. Hey Dillon: thought to start a new reply that’s got less squishy space :)

    The “Unable to located requested resource” message still comes up when I load up into an account or switch to an account. The error message no longer displays when I browse a repo’s wiki.

    When I try to navigate a repo’s wiki, I cannot navigate through on internal wiki links (nothing happens). Clicking on external links will fire up Safari.

    1. Yeah, i’ve already begun construction of a support site for the app because it’s quite difficult to discuss issues/features in these little boxes…

      It’s upsetting to hear that my latest version did not fix this issue you are seeing. Just to make sure, are the usernames you have in the CodeBucket application capitalized (or not capitalized) exactly how they are on the BitBucket website after you login?

      To answer your Wiki question: unfortunately there is poor support in the BitBucket API supporting Wikis. I spent a lot of time trying to mimic what they’re doing on the BitBucket site since the API only sends back raw wiki format instead of already parsed, and link resolved format. Regardless, there are a few changes in the next version that improve the Wiki, however, I am still working with the BB devs to add additional API support. Because of the previous shortcomings I had it boot you to the Safari just to be safe because otherwise people would sometimes end up in weird situations that would be frustrating.

      One final thought, do you use Github as well? I use them both quite extensively and combined both in a future version of the App so you could navigate both under one roof. However, while that really appeals to me, I’m not sure if anyone else would agree that is a good feature. Let me know what you think.

      Again, thanks for the feedback. It’s much appreciated!

      1. Support-wise: have you considered zendesk.com?

        Credentials: all entered with matching case.

        Wikis: yeah understand. Understand if kicking me out to Safari. Was more wondering about how internal links weren’t working at all.

        Github: not using Github. Bitbucket’s pricing is much more attractive

        I ran http://sydney.launch48.com last year at Atlassian. A couple of Atlassian devs who participated also had started working on Bitbucket (soon after acquisition). They’re a bunch of cool, sharp guys.

        1. Daniel, you’re the man! I’ve been searching and searching for a product like zendesk! I will figure out this credential thing ASAP. Yeah, I really like Atlassian, I think they’re product lines are awesome. I’d love to see Bitbuket take on a tighter integration with some of their products but it’s come a long way! Love what they’re doing.

  12. From startup perspective: don’t focus too much time on Bitbucket+Github til your customers start bashing on your door about it. Feel free to test it with some customers. But keep on your track of being customer-driven. I love that you’re so responsive and service-focused.

    1. Excellent advice! I love this kinda stuff! I wanna make sure I service everyone who takes the time and money to try my product. They invested in me so I gotta keep my end of the bargain ;) By any chance, have you ever read the book Rework by the guys at 37Signals? It’s a great read!

      1. Yeah, I have. Have you done many business startup weekend type things? You sound like you’d be awesome at them. Well, you’re already starting up so that’s terrific.

        1. I haven’t done too many startup type things. To be honest, this year is the first year where I’ve really gotten into that type of thing. My buddy and I went out and interviewed for Y-Combinator with an interesting music product we were developing. Unfortunately, we wern’t what they were looking for, but, nevertheless it got me into the startup mood!

  13. I have a feature request, but there doesn’t seem to be a link on your site to contact you directly. My feature request is to add support for viewing PDFs that are stored in bitbucket. (Currently, an error appears when trying to open a PDF.)

  14. I cannot get the app to work, it is giving an error that says value too large or too small. I would love for it to work, but does not work for me.

    1. Hey Derek,
      I would love for this application to work for you too ;) I just sent you an email with a few questions. I thought it would be a little easier to track than on the site. (I still in the process of creating a formal helpdesk). Let me know if you’re unable to receive it. I will correct this and get you going with CodeBucket!

    1. Hey Simone,
      can you make sure you’re following those repositories? If you go on the main site you have to make sure the repository is being followed to show up. Up near the icon of the repository there will be a star and “Follow” next to it. Click it to change it to “following” and then you should see it in the application. Let me know if this is not the case and I will look into resolving your issue.

    2. I follow a team repository owned by another, team user. It generally works for issue tracking (all that I am doing right now), but I can’t assign responsibility to anyone but the owner of the team repo. When I loging as the team user, it works as expected.

  15. Please add (the end of September requested) filtering of issues by type, status and so on. Its really hard right now to see which issues still need to be addressed

    Thanks and keep up the good work

  16. Could you add the ability to sort issues by descending priority? Currently I can sort issues by priority but I can”t figure out how to have the highest priority at the top (rather than the trivial ones).

    Other than that – great work!

  17. I log in to bitbucket by OAuth(google account).
    It seems that this application does not correspond.
    Is there any correspoding schedule?

    1. Hello Ichi,
      unfortunately CodeBucket does not support OAuth yet. However, I am currently implementing OAuth for the next version of the app so it should be present in the app within a week or two.

    2. Hello Ichi,
      I forgot to mention, you can begin using CodeBucket right away if you set a password, which can be found in the Bitbucket account settings. Your username can be found when you go to the account profile too. Using the two, you will be able to login using CodeBucket without OAuth (for now).

  18. Hi ya bought your great app. Good stuff. You said above if there was any features to suggest. Well I’m always on the move would love it if your app could fork private repositories for off line editing or even viewing. I’m not always online to access bitbucket. Anyways great app.

    1. Hey Kyle,
      glad you like the app and thanks for the suggestion. Offline caching has been suggested quite heavily and I plan to implement the feature in the very near future. As for the offline editing, that’s an excellent idea! I will jot down both of them and hopefully have something put together for the next release. Thanks again for your suggestion and the support of the app!

  19. Hi Dillon,

    Great app. I love the look and feel of it. However, whenever I try to get anywhere in a repo, I get an error saying ‘Error. The server is unable to locate the requested resource.’ This happens at events, issues, commits, pull requests, source etc… This unfortunately makes the app quite useless. Hope you’ll get into this issue fast!

    1. Hey Luud,
      thanks for reporting this. I’m sorry to hear you’re having trouble with the app. I’d love to help get it fixed ASAP so you can start using it to it’s full potential. What device and verison of iOS are you running? In addition, what is your username that you used to log into the app.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>