Report created: 9 June 2014

Participant Information

Experience: 8 years: PHP/Node.js/Javascript/Java/Python

Development System: Mac OSX, PhpStorm.

 

Tasks

1. Obtain authorization credentials.

Use the following dropbox account:
        test83571@gmail.com
        dqwddd12
    Gmail account:
        test83571@gmail.com
        b5ee3cd3

Sources: download

Time spent: 15 minutes

Notes:

Installed node.js, checked site and basically didn’t find javascript or node.js info. So opened tutorials related to javascript to understand from and to, process. Node.js related library was found in “third party libraries section” which takes to github.com and explains how to use. It would be cool to read overall information for third-party solutions, say tutorial for http/javascript case. Needs extra work to go here and there to put pieces together and understand where I am. So used dbox node.js module which is more or less fine.

 

2. Output information about the authorized user.

Sources: download

Time spent: 20 minutes

Notes:

It wasn’t problematic to follow steps, created a basic user interaction in order to take time for user to visit url and confirm and then continue with our operations. There was problem with dbox path.join method and it blocked me to some time, probably newest node or something, anyway fixed and completed. Description of library and steps are very good and friendly.

 

3. Upload a file to the authorized Dropbox user.

Sources: download

Time spent: 15 minutes

Notes:

Performed upload. Once again, had path.join problem while following usual steps. Had to fix library – to add retricted checks and default variable initialization, but overall it's fine.

 

4. Create a new datastore.

Sources: download

Time spent: 20 minutes

Notes:

Overall tutorial on dropbox/developers is great, one bad thing, that there is no nice library for node.js and low level calls needs to be done. But tutorial was great and everything went smooth.

 

5. Write a record into the created datastore with the JSON information {"description": "This is a test"}.

Sources: download

Time spent: 20 minutes

Notes:

All went nice and smooth. The only problem that need to use low level calls, check if nothing was missed, use callbacks, etc. Otherwise tutorial is fine.

 

Questions

1. Name specifically the three biggest problems you’ve encountered and how you solved them (documentation, customer support, stackoverflow, help from a friend)?

  1. Not biggest, but needed to understand what is where, surfed around to put pieces together.
  2. Path.join problem during file upload with dbox node module – debugged myself and initialized variables properly.
  3. Path.join problem during account info retrieval – debugged myself and initialized variables properly.

2. Give an approximation of how much of your time you have spent outside looking for help outside https://www.dropbox.com/developers. (0% = I've been using https://www.dropbox.com/developers only; 100% = I've used https://www.dropbox.com/developers just for registering my app)

About 80%.

3. Have you experienced any unexpected crashes or errors? If yes, did you find the error messages useful?

The error with paths.join wasn’t descriptive, because basically wasn’t initialized properly.

4. Name at least three ways we can improve the documentation.

  1. Create “home” page for Node.js developers and give description how to start and where, so they don’t go into java or C# or other things to understand the overall flow. It doesn’t feel like “home”, you know.
  2. Documentation for dbox – I don’t know if you support it , but there are good examples that are easy to follow.
  3. Maybe you should consider adding more information on third-party libs (their procs and cons, general features and so on). It would help to choose the right library from dropbox developers page.

5. Name at least three ways we can improve the design of the API (other than documentation).

Actually for all the tasks which I did dropbox api methods were convenient, so it is difficult to name something specific, however I have a note for dbox node.js module. There is no datastore API in the module - just raw http calls so it would be really nice to have something high level.

 

www.apiusabilitytesting.com