Developer Duck
Frequently Asked Questions
Frequently Asked Questions
Developer Duck is more than a wrapper around ChatGPT.
Let us count the ways...
Developer Duck supports multiline input in the chat window, along with full Markdown support.
Configure your preference for Return Key Behavior in the chat window. Choose between Enter/Shift+Enter or Command+Enter/Enter for Submit/Newline respectively.
Open the Settings tab in Preferences, and set your custom global hotkey.
Your hotkey will open Quick Query, a Spotlight-like interface for quickly interacting with Developer Duck. You can toggle between Asking a question, requesting an Explanation for pasted code, or Generate code from a prompt with ⌘1, ⌘2, and ⌘3.
For each mode, you can press Enter to open the question in a conversation window.
Quick Query is a Spotlight-like interface for quickly interacting with Developer Duck. You can toggle between Asking a question, requesting an Explanation for pasted code, or Generate code from a prompt.
For each mode, you can press Enter to open the question in a conversation window.
Type a short question and get a concise answer.
Ask about a confusing topic, or paste in source code for line-by-line comment explanations.
Write a short description of your desired code, and Developer Duck will reply with the generated code.
Choosing a model is a tradeoff of accuracy, input/output length, and speed.
For non-subscribers, GPT-3.5 is recommended. GPT-4 is only available to subscribers and is the recommended model.
GPT-4 is the most recently released model, and allows for the highest quality outputs. Answer accuracy is highest, and the model allows for input/output twice the size of other models. GPT-4 is also slower than other models, but the accuracy and input/output size are generally worth it.
GPT-3.5 is a very capable model, and is the default at chat.openai.com. Ths model is slightly less accurate than GPT-4, but only allows for half of GPT-4's input and output lengths. For small scripts this can be acceptable, but for longer code content, the length limits may cause issues.
Developer Duck is currently Mac-only. iOS support is lower on the priority list, as most development is focused on Xcode integrations and Swift app development.
Would you like iOS support? Get in touch and tell me how you'd use it!
The Developer Duck Xcode Extension comes pre-installed with the app, you only need to enable it to take advantage of Developer Duck within Xcode.
To enable the extension, open System Settings and go to the Extensions pane.
Open the Source Editor Extensions list...
...and make sure that XcodeDuck is enabled.
Now you can use Developer Duck commands from the Editor menu inside Xcode.
When an extension is running in Xcode, the only available UI to show that it is working is the "is busy" notification at the top of the file.
When you see this message in Xcode, it means the extension is working correctly and is currently processing your request.
You can cancel the request by clicking the Cancel button at the right side of the message.
You may also see error messages displayed in a similar way. The example below shows the message when a file is too large to be processed by Developer Duck.
Filesize is limited by the underlying AI models used by Developer Duck. As new models are released, processing larger files will be available.
Only a single action is able to be run at a time - this is an Xcode limitation. When a command is running, all menu items will show as disabled. Once the current command finishes, the menu items will re-enable.
When an extension is running in Xcode, the only available UI to show that it is working is the "is busy" notification at the top of the file.
The Xcode extension uses the GPT-4 model from OpenAI. This model is roughly 10x more expensive than the GPT-3.5 model.
While the GPT-3.5 model works well for question-answer sessions in a Developer Duck chat window, particularly when able to iterate with user feedback. However, Xcode does not allow for any custom user interface or iteration with additional user input, and so the stronger model GPT-4 is required for consistent output.
XcodeDuck, the Developer Duck Xcode extension, does not have keyboard shortcuts by default. However, you can setup your own keyboard shortcuts to whatever you prefer.
To setup custom shortcuts, open Xcode preferences and open the Key Bindings panel.
Filter to show only XcodeDuck commands.
Double click in the Key column to set a new keyboard shortcut.
Now you can use your keyboard shortcut instead of manually navigating to the item in the Editor menu.
You can trigger Developer Duck actions with custom x-callback-url URLs.
Use the link format: duck://x-callback-url/conversation/?prompt={your prompt}
Example: duck://x-callback-url/conversation/?prompt=Hello%20World
Use the link format: duck://x-callback-url/quick-query/?query={your query}&mode=ask
Example: duck://x-callback-url/quick-query/?query={your query}&mode=ask
Allowed mode
values are ask
, explain
, and generate
.
Large language model (LLM) AIs like Developer Duck work by predicting the next most probable words to a conversation. This means that the recent conversation has a large impact on the next response that the AI will generate.
If Developer Duck seems stuck on a particular solution strategy, instead of changing course in the conversation as you would with another human, you might get a faster change of course by starting a new conversation with a question that starts with your new information and direction.
Remember - Developer Duck is for rubber duck debugging, it's here to help you understand, think through, and solve the problem yourself. Here are some sample questions for you to ask Developer Duck to help your conversations:
As with everything in life, the quality of the output depends on the quality of the input!
What does rubber duck debugging really need? More quacks!
If your question hasn't been answered, contact us at adam@adamwulf.me.