Skip to content
This repository has been archived by the owner on Sep 14, 2022. It is now read-only.

Maybulb/Nimble

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Nimble

The cross-platform personal assistant that just works. Built with the wonderful Electron, as well as many useful libraries.

For the Xcode (Swift) build of the same name, see Nimble-Swift.

Development

Electron and gulp required to be installed on your machine (npm install -g electron-prebuilt gulp). You'll also need a Wolfram Alpha API Key.

Clone the repository, install dependencies, then run gulp.

git clone https://github.com/madebybright/Nimble.git

# cd into the directory and install dependencies
cd Nimble && npm install

Create src/js/key.json for your key.

{
  "api": "KEY"
}

Run electron in the project directory to get it up and running.

# Compiles Sass and starts (gulp && electron .)
npm start

Packaging/Bundling

If you'd like to package Nimble as an app, or bundle it as a DMG, you can use our gulp tasks.

gulp package # nimble -> .app
gulp bundle # nimble -> .app -> .dmg

If you're bundling it, make sure to package it beforehand so that the .app exists for the disk image.

Checklist

  • Fix overflow problem
  • Add Random Placeholder Query Suggestions
    • Make it fade between placeholders every few seconds or so (no animation, impossible)
  • Add search button
  • Clean up request
  • Add content-dynamic window support 🎈 In Progress
    • Improve with possible animation
  • Improve file structure/skeleton
  • Right click icon to exit
    • Provide mini menu for Preferences and Exit
  • Change initial position of where Nimble loads (the x and y values) [Maybe?]
  • Add math.js support
    • Allow option for query to be processed with W|A if it's first processed with math.js
  • Add error messages
    • Style error messages (@gthn)
  • Graphing?
  • Indeterminate Loading indicator
  • Always offer a link to the Wolfram|Alpha page at the bottom
  • Un-round the top border
  • Add auto-updating (Electron provides a module built on Squirrel)

Far Future Additions

Some ideas we've been kicking around that we think might have a spot in future versions of Nimble once we've actually gotten it working.

  • Quick timezone conversions (possibly with Moment.js)

Contribution

Want to make a contribution? Fork the repo, add your changes, and submit a pull request. Any type of contributions (ideas, bug fixes, fixing typos, etc.) will be appreciated!

Special Thanks To...

  • Stephen Wolfram, for creating the wonderfully frustrating Wolfram|Alpha®
  • All of the wonderful open source software we use with Nimble, viewable in package.json
  • Lastly, we'd like to thank everyone who's supported us from day one.
    • Ethan would like to thank Lucas Steuber of LanguageCraft, Willow Bumby of Cosmic Labs, as well as the rest of the Bright team, Trevor, Logan, Aaron, and /r/webdev on Reddit.

License

LICENSE

Tag Tag Tag Tag