Thinking in commands, developer tools command line

Joe Walker has been building a great "modern command line" for developer
tools. You can see it right now in Nightly by setting devtools.gcli.enable
to true in about:config.

When you do so, you'll see the Web Console's JavaScript command line change
to a tool-oriented command line (which means: designed to be very quick to
type). You can still run JavaScript by hitting { (curly brace)

This has the potential to be an amazing feature... but it needs commands. I
started a wiki page:

https://wiki.mozilla.org/DevTools/ThinkingInCommands

I'm interested in hearing people's thoughts about the command line feature
and the kinds of commands they'd like to see. Bugs with patches for
commands would be cool, too :)

Kevin

-- 
Kevin Dangoor

work: http://mozilla.com/
email: kdangoor@mozilla.com <kid@blazingthings.com>
blog: http://www.BlueSkyOnMars.com
0
Kevin
12/12/2011 8:18:22 PM
mozilla.dev.apps.firefox 3660 articles. 0 followers. Post Follow

17 Replies
837 Views

Similar Articles

[PageSpeed] 6
Get it on Google Play
Get it on Apple App Store

On 12/12/11 20:18, Kevin Dangoor wrote:
> https://wiki.mozilla.org/DevTools/ThinkingInCommands

The most important thing IMO is that addons should be able to add new
commands or sets of commands easily. One would then hope that good
commands would naturally be created, and assembled into sets, which
would acquire reputations, and so on.

Gerv

0
Gervase
12/13/2011 12:40:03 PM
On 13/12/2011 12:40, Gervase Markham wrote:
> On 12/12/11 20:18, Kevin Dangoor wrote:
>> https://wiki.mozilla.org/DevTools/ThinkingInCommands
> The most important thing IMO is that addons should be able to add new
> commands or sets of commands easily. One would then hope that good
> commands would naturally be created, and assembled into sets, which
> would acquire reputations, and so on.

Command creation is well documented:
https://github.com/mozilla/gcli/blob/master/docs/writing-commands.md

It would be nice to have ~/.commands/foo.js become automatically 
available etc. However there's code to be written, and security reviews 
to be passed before we've got that.

Joe.

0
Joe
12/13/2011 1:07:41 PM
Perhaps we could help/promote the creation of new/custom/user-specific
commands with some kind of Scratchpad integration?

eg.
createCommand foo => launch a scratchpad window with the necessary
boilerplate code to create a command 'foo'.



On Tue, Dec 13, 2011 at 21:07, Joe Walker <jwalker@mozilla.com> wrote:
> On 13/12/2011 12:40, Gervase Markham wrote:
>>
>> On 12/12/11 20:18, Kevin Dangoor wrote:
>>>
>>> https://wiki.mozilla.org/DevTools/ThinkingInCommands
>>
>> The most important thing IMO is that addons should be able to add new
>> commands or sets of commands easily. One would then hope that good
>> commands would naturally be created, and assembled into sets, which
>> would acquire reputations, and so on.
>
>
> Command creation is well documented:
> https://github.com/mozilla/gcli/blob/master/docs/writing-commands.md
>
> It would be nice to have ~/.commands/foo.js become automatically available
> etc. However there's code to be written, and security reviews to be passed
> before we've got that.
>
> Joe.
>
>
> _______________________________________________
> dev-apps-firefox mailing list
> dev-apps-firefox@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-apps-firefox
0
Cedric
12/13/2011 1:44:23 PM
+1

This could be an alias to the scratchpad command (bug 683513) that adds a
specific parameter.

On Tue, Dec 13, 2011 at 3:44 PM, Cedric Vivier <cedricv@neonux.com> wrote:

> Perhaps we could help/promote the creation of new/custom/user-specific
> commands with some kind of Scratchpad integration?
>
> eg.
> createCommand foo => launch a scratchpad window with the necessary
> boilerplate code to create a command 'foo'.
>
>
>
> On Tue, Dec 13, 2011 at 21:07, Joe Walker <jwalker@mozilla.com> wrote:
> > On 13/12/2011 12:40, Gervase Markham wrote:
> >>
> >> On 12/12/11 20:18, Kevin Dangoor wrote:
> >>>
> >>> https://wiki.mozilla.org/DevTools/ThinkingInCommands
> >>
> >> The most important thing IMO is that addons should be able to add new
> >> commands or sets of commands easily. One would then hope that good
> >> commands would naturally be created, and assembled into sets, which
> >> would acquire reputations, and so on.
> >
> >
> > Command creation is well documented:
> > https://github.com/mozilla/gcli/blob/master/docs/writing-commands.md
> >
> > It would be nice to have ~/.commands/foo.js become automatically
> available
> > etc. However there's code to be written, and security reviews to be
> passed
> > before we've got that.
> >
> > Joe.
> >
> >
> > _______________________________________________
> > dev-apps-firefox mailing list
> > dev-apps-firefox@lists.mozilla.org
> > https://lists.mozilla.org/listinfo/dev-apps-firefox
> _______________________________________________
> dev-apps-firefox mailing list
> dev-apps-firefox@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-apps-firefox
>
0
Panos
12/13/2011 1:54:07 PM
That'd be cool. We could even have a custom userGCLI.js stashed in the =
profile that gets loaded when you first start the command line.

On 2011-12-13, at 09:44, Cedric Vivier wrote:

> Perhaps we could help/promote the creation of new/custom/user-specific
> commands with some kind of Scratchpad integration?
>=20
> eg.
> createCommand foo =3D> launch a scratchpad window with the necessary
> boilerplate code to create a command 'foo'.
>=20
>=20
>=20
> On Tue, Dec 13, 2011 at 21:07, Joe Walker <jwalker@mozilla.com> wrote:
>> On 13/12/2011 12:40, Gervase Markham wrote:
>>>=20
>>> On 12/12/11 20:18, Kevin Dangoor wrote:
>>>>=20
>>>> https://wiki.mozilla.org/DevTools/ThinkingInCommands
>>>=20
>>> The most important thing IMO is that addons should be able to add =
new
>>> commands or sets of commands easily. One would then hope that good
>>> commands would naturally be created, and assembled into sets, which
>>> would acquire reputations, and so on.
>>=20
>>=20
>> Command creation is well documented:
>> https://github.com/mozilla/gcli/blob/master/docs/writing-commands.md
>>=20
>> It would be nice to have ~/.commands/foo.js become automatically =
available
>> etc. However there's code to be written, and security reviews to be =
passed
>> before we've got that.
>>=20
>> Joe.
>>=20
>>=20
>> _______________________________________________
>> dev-apps-firefox mailing list
>> dev-apps-firefox@lists.mozilla.org
>> https://lists.mozilla.org/listinfo/dev-apps-firefox
> _______________________________________________
> dev-apps-firefox mailing list
> dev-apps-firefox@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-apps-firefox

0
Rob
12/13/2011 5:04:39 PM
Nice idea.
I added a comment to the bug. 
https://bugzilla.mozilla.org/show_bug.cgi?id=683513#c11

Joe.


On 13/12/2011 13:54, Panos Astithas wrote:
> +1
>
> This could be an alias to the scratchpad command (bug 683513) that 
> adds a specific parameter.
>
> On Tue, Dec 13, 2011 at 3:44 PM, Cedric Vivier <cedricv@neonux.com 
> <mailto:cedricv@neonux.com>> wrote:
>
>     Perhaps we could help/promote the creation of new/custom/user-specific
>     commands with some kind of Scratchpad integration?
>
>     eg.
>     createCommand foo => launch a scratchpad window with the necessary
>     boilerplate code to create a command 'foo'.
>
>
>
>     On Tue, Dec 13, 2011 at 21:07, Joe Walker <jwalker@mozilla.com
>     <mailto:jwalker@mozilla.com>> wrote:
>     > On 13/12/2011 12:40, Gervase Markham wrote:
>     >>
>     >> On 12/12/11 20:18, Kevin Dangoor wrote:
>     >>>
>     >>> https://wiki.mozilla.org/DevTools/ThinkingInCommands
>     >>
>     >> The most important thing IMO is that addons should be able to
>     add new
>     >> commands or sets of commands easily. One would then hope that good
>     >> commands would naturally be created, and assembled into sets, which
>     >> would acquire reputations, and so on.
>     >
>     >
>     > Command creation is well documented:
>     > https://github.com/mozilla/gcli/blob/master/docs/writing-commands.md
>     >
>     > It would be nice to have ~/.commands/foo.js become automatically
>     available
>     > etc. However there's code to be written, and security reviews to
>     be passed
>     > before we've got that.
>     >
>     > Joe.
>     >
>     >
>     > _______________________________________________
>     > dev-apps-firefox mailing list
>     > dev-apps-firefox@lists.mozilla.org
>     <mailto:dev-apps-firefox@lists.mozilla.org>
>     > https://lists.mozilla.org/listinfo/dev-apps-firefox
>     _______________________________________________
>     dev-apps-firefox mailing list
>     dev-apps-firefox@lists.mozilla.org
>     <mailto:dev-apps-firefox@lists.mozilla.org>
>     https://lists.mozilla.org/listinfo/dev-apps-firefox
>
>

0
Joe
12/13/2011 5:16:35 PM
On 13/12/11 17:04, Rob Campbell wrote:
> That'd be cool. We could even have a custom userGCLI.js stashed in the profile that gets loaded when you first start the command line.

Can we please think of a more snappy name than "GCLI"? :-)

Gerv
0
Gervase
12/14/2011 9:43:13 AM
On Wed, Dec 14, 2011 at 11:43 AM, Gervase Markham <gerv@mozilla.org> wrote:

> On 13/12/11 17:04, Rob Campbell wrote:
> > That'd be cool. We could even have a custom userGCLI.js stashed in the
> profile that gets loaded when you first start the command line.
>
> Can we please think of a more snappy name than "GCLI"? :-)
>

Some of us prefer to call it "geekly", does that help? :-)

Panos
0
Panos
12/14/2011 10:00:06 AM
On 14/12/2011 09:43, Gervase Markham wrote:
> On 13/12/11 17:04, Rob Campbell wrote:
>> That'd be cool. We could even have a custom userGCLI.js stashed in the profile that gets loaded when you first start the command line.
> Can we please think of a more snappy name than "GCLI"? :-)

To most people it doesn't have a name - it's just the place where you 
type things in the Web Console.

Also we suck a naming, and by suck at naming, I mean that we keep on 
deciding that the current name is bad, so we bikeshed until we have a 
different name, which sticks until someone next says we need a new name. :(

Joe.

0
Joe
12/14/2011 10:11:29 AM
On Tue, Dec 13, 2011 at 8:40 PM, Gervase Markham <gerv@mozilla.org> wrote:

> On 12/12/11 20:18, Kevin Dangoor wrote:
> > https://wiki.mozilla.org/DevTools/ThinkingInCommands
>
> The most important thing IMO is that addons should be able to add new
> commands or sets of commands easily. One would then hope that good
> commands would naturally be created, and assembled into sets, which
> would acquire reputations, and so on.
>
> Gerv
>
> _______________________________________________
> dev-apps-firefox mailing list
> dev-apps-firefox@lists.mozilla.org
> https://lists.mozilla.org/listinfo/dev-apps-firefox
>

Out of curiosity, what is the intended scope of the (for lack of a better
term as yet) GCLI? I assume that it's primary focus will be development,
but is it intended to also allow access to basic Firefox functionality? To
my mind, there's some crossover between the two. For example, when a tab is
pinned as an app tab, my understanding is that it may have elevated
privileges (such as more storage space). As a developer, then, I'll want to
be able to easily toggle the pinned state of an app tab. Other places where
this overlap occurs are:

* Full-screen mode
* Whether or not DNT is enabled
* Whether or not JS, cookies, CSS, etc. are enabled
* The character encoding of the document

Other useful commands that I've thought of include:
* Emulation of network connectivity issues and absence
* Execution of bookmarklets (general access to bookmarks)
* Execution of arbitrary JS files (i.e. load them in Scratchpad and run
them immediately)
* Addon enabling/disabling/reloading (perhaps especially useful when
developing Jetpack addons)

I'll no doubt come up with more over time. :)

Barry van Oudtshoorn
http://barryvan.com.au/
bvanoudtshoorn@gmail.com
0
Barry
12/14/2011 10:17:08 AM
On 14/12/2011 10:17, Barry van Oudtshoorn wrote:
> Out of curiosity, what is the intended scope of the (for lack of a better
> term as yet) GCLI? I assume that it's primary focus will be development,
> but is it intended to also allow access to basic Firefox functionality? To
> my mind, there's some crossover between the two. For example, when a tab is
> pinned as an app tab, my understanding is that it may have elevated
> privileges (such as more storage space). As a developer, then, I'll want to
> be able to easily toggle the pinned state of an app tab. Other places where
> this overlap occurs are:
>
> * Full-screen mode
> * Whether or not DNT is enabled
> * Whether or not JS, cookies, CSS, etc. are enabled
> * The character encoding of the document
>
> Other useful commands that I've thought of include:
> * Emulation of network connectivity issues and absence
> * Execution of bookmarklets (general access to bookmarks)
> * Execution of arbitrary JS files (i.e. load them in Scratchpad and run
> them immediately)
> * Addon enabling/disabling/reloading (perhaps especially useful when
> developing Jetpack addons)
>
> I'll no doubt come up with more over time. :)

This is a developer tool.

GCLI commands run with chrome privileges. So we need to be as careful 
with new commands as we would be with any new code - they go through 
security review.
The command line may contain a section bounded by {}, which is plain 
JavaScript, which executes with content privileges.

Hence:
� screenshot ~/demo.png
Should work once we've written the command

� { window.Components.utils.import('blah'); }
Exception: Permission denied for to get property XPCComponents.utils

� inspect { document.getElementById('foo') }
We've not written this yet, and we'll need to be careful about not 
letting content JS execute with chrome privs, but in principle...

Of course there is a better way of doing the above
� inspect #foo

Joe.

0
Joe
12/14/2011 10:54:53 AM
On 14.12.2011 11:54, Joe Walker wrote:
> GCLI commands run with chrome privileges. So we need to be as careful
> with new commands as we would be with any new code - they go through
> security review.

s/security/peer/
0
Dao
12/14/2011 1:25:15 PM
On 14/12/2011 13:25, Dao wrote:
> On 14.12.2011 11:54, Joe Walker wrote:
>> GCLI commands run with chrome privileges. So we need to be as careful
>> with new commands as we would be with any new code - they go through
>> security review.
>
> s/security/peer/

All our code goes through peer review. In addition we ask for security 
review.

See:
https://bugzilla.mozilla.org/show_bug.cgi?id=664696
https://github.com/mozilla/gcli/blob/master/docs/review/security-review-2011.md

Joe.

0
Joe
12/14/2011 2:55:33 PM
On 14.12.2011 15:55, Joe Walker wrote:
> On 14/12/2011 13:25, Dao wrote:
>> On 14.12.2011 11:54, Joe Walker wrote:
>>> GCLI commands run with chrome privileges. So we need to be as careful
>>> with new commands as we would be with any new code - they go through
>>> security review.
>>
>> s/security/peer/
>
> All our code goes through peer review. In addition we ask for security
> review.

Why? You said "we need to be as careful with new commands as we would be 
with any new code", but obviously we don't security-review all new code.
0
Dao
12/14/2011 4:07:34 PM
On 14/12/2011 16:07, Dao wrote:
> On 14.12.2011 15:55, Joe Walker wrote:
>> On 14/12/2011 13:25, Dao wrote:
>>> On 14.12.2011 11:54, Joe Walker wrote:
>>>> GCLI commands run with chrome privileges. So we need to be as careful
>>>> with new commands as we would be with any new code - they go through
>>>> security review.
>>>
>>> s/security/peer/
>>
>> All our code goes through peer review. In addition we ask for security
>> review.
>
> Why? You said "we need to be as careful with new commands as we would 
> be with any new code", but obviously we don't security-review all new 
> code.

New features need security review, so I guess I'm saying that we look at 
new commands as new features.

Joe.

0
Joe
12/14/2011 6:39:12 PM
Cool and exciting stuff!!

How one get's access to the `gcli` object or to a `canon` ? I'd be interested in implementing an SDK API for adding new commands. 
0
rfobic
12/14/2011 10:11:13 PM
On 14/12/2011 22:11, rfobic@gmail.com wrote:
> Cool and exciting stuff!!
>
> How one get's access to the `gcli` object or to a `canon` ? I'd be interested in implementing an SDK API for adding new commands.

An example:
https://hg.mozilla.org/mozilla-central/file/tip/browser/devtools/webconsole/GcliCommands.jsm

Further documentation:
https://github.com/mozilla/gcli/blob/master/docs/writing-commands.md

Joe.

0
Joe
12/14/2011 11:20:05 PM
Reply:

Similar Artilces:

GCLI nomenclature (was: Thinking in commands, developer tools command line)
> > Can we please think of a more snappy name than "GCLI"? :-) > What about DevPrompt, DevBar, or QuickBar? I quite like DevPrompt, personally; you could, for localisation, expand it out to Developer Prompt. Barry van Oudtshoorn http://barryvan.com.au/ bvanoudtshoorn@gmail.com ...

Command line commands
Within a PowerBuilder application, how do I create an association so that all files with no extension are opened with notepad? I am using InsertFile command. I know we can use the command line 'assoc' command but I don't know how to include it in PowerBuilder code. I am using PowerBuilder 6.5 Thanks Mangala You could probably do that with the run function. However, you should be careful because most directories don't have extensions. I don't know what kind of behavior that will cause. Mike ...

Command Line commands
Is there a list of commands that can be used at the NetWare server and at the Windows workstation command line for ZFD 4.? I can't find them in the documentation or on the knowledgebase apart from ZENVER. Thanks in advance for any replies. Spamaddress@spam.com, > Is there a list of commands that can be used at the NetWare server and at > the Windows workstation command line for ZFD 4.? > To control what? NAL? - Anders Gustafsson, Engineer, CNE6, ASE NSC Volunteer Sysop Pedago, The Aaland Islands (N60 E20) Novell does not monitor these forums officiall...

Command line Tool to REMOVE associations between apps and users
Hello world, does anybody know about a tool similar to appassoc.exe from the ZEN toolkit that can REMOVE associations between workstation groups and application objects from NDS? We switched to an organizational setup, where users rent their notebooks and software from the IT department. Bookkeeping is done in a database application that creates the necessary objects and associations in NDS (workstation group <-> application object) through a set of scripts. Now when a user stops renting an app, it's removed from the database and he's not billed for it anymore. ...

How to pass command line arguments to an extension using a command line on MacOS
I am developing an extension that processes some command line options. I want to invoke the Firefox from a command line like this: > ...../firefox -myarg1 -myarg2 I am running into a problem on Mac OS. When I run such command when there is no FireFox running it works fine. However if I run the command again I get an error saying that there is already an instance of Firefox running and only one instance can run at a time (paraphrasing here). I have tried to use the -remote option but no luck. Does anyone know how to solve this problem? Does anyone know if invoking of chatzill...

How to pass command line arguments to an extension using a command line on MacOS?
I am developing an extension that processes some command line options. I want to invoke the Firefox from a command line like this: > ...../firefox -myarg1 -myarg2 I am running into a problem on Mac OS. When I run such command when there is no FireFox running it works fine. However if I run the command again I get an error saying that there is already an instance of Firefox running and only one instance can run at a time (paraphrasing here). I have tried to use the -remote option but no luck. Does anyone know how to solve this problem? Does anyone know if invoking of chatzill...

KDE4 icons and command line commands
I'm running Suse 11.3 with KDE4. I have an icon in my Kickoff Application Launcher for xterm. When I click on the icon, it apparently executes the command /usr/bin/xterm which generates a large window with a large font. I would like to get a smaller window with a smaller font. I know how to do that on a command line but to execute the command I need to _already_ have a window open so I can run the command. So how do I (a) add a new icon to the KDE launcher which generates the command I want or (b) change the existing icon so that it executes MY command and not the basic...

TFS Command Line Get Command
Hi Can you pls help me how to pull the latest version or label from the TFS through Command Line. I went through the msdn documentation. I am not able to get a clear picture. I am expecting some command with example where I can pass the server name, Credentials and sourcepath and Destination path. Basically I want to pull the get latest to a local path which  will be specified in the command line utility. Hope so I am clear.  Pls help me.RegardsFinny  You can use tf command line utilityThis utility can be found in C:/ProgramFiles/Microsoft Visual Studio (9 or 8...

Cool command line prompt command
Last night I rebooted a web server, and after doing so, I couldn't RDP into it. So, in the meanwhile, while I awaited a response from those in power who could go to the data center and physically restart the server, I thought there must be a command line prompt command that I can run from one of the other servers to reboot it. I found a command called shutdown. I ran shutdown /r /f ComputerName and it rebooted the server and then I was able to access it via RDP. shutdown /r /f ComputerName /r - Restart/f - Forced restartRyan OlshanASPInsider | Microsoft MVP, ASP.NEThttp://ryanolshan.c...

Firefox command line
Hi, I want to open Firefox by command line sending an url as argument (first part) and after I want to know if the url was completely loaded (second part). The first part is okay, but the second is a little dark. I've searched for some command line reference, but I can't found it. Is there some reference or can anyone help me? Thanks, Jos=E9 Valim. Jos� Valim wrote: > Hi, > > I want to open Firefox by command line sending an url as argument > (first part) and after I want to know if the url was completely loaded > (second part). > > The...

Command line "move" command?
I have a question about possibly setting up a Cron job to move files. First some background. Netware 6.0, Groupwise 6.5. We are using Gwavasig to append a signature to our email messages. Some of our email messages seem to get stuck in the Gwavasig "send" directory, particularly when we send out large numbers of messages (like our monthly client mailout) . However, if we move these files from "send" to "receive" they all go out with no problem. I would like to automate this so that any remaining messages are moved automatically once or twice a day. S...

command-line commands within a Perl script
Hi, I have a directory with several subdirectories, each full of several dozen Word files. For each subdirectory, I need to run the checksum app against all of that directory's files and output a file into that directory with the checksum results. How can I do this? I'm very unfamilar with running command-line commands from within an Perl script. I know to change directories, you can do something like this: $changeDir = "cd ".$startingDir; system($changeDir); but what about retrieving the list of subdirectories from the starting directory? How can I do this? ...

What are command line commands to detach and attach a db
What are the command line commands to detach and attach a database? My copy of Microsoft SQL Server Management Studio Express has stopped working. So I need to detach the database using the commands.Thank youJackxxx Is this what you are looking for: http://support.microsoft.com/kb/224071Thanks,MaxLet Me Google That For You! sp_attach_db sp_detach_dbBeware of bugs in the above code; I have only proved it correct, not tried it. (Donald Knuth)...

command line commands passed to perl script?
Hi all, Sorry, should have added this to my last email. Does anyone know how to pass values to a perl script through the command line? Do you use param as in CGI scripting/ I want a user to be able to specify certain parameters for the perl script (in case they want to run an overnight scheduler on it). Eg. testscript.pl /? gives you help or testscript /a gives you another capability... Ben __________________________________ Do you Yahoo!? New Yahoo! Photos - easier uploading and sharing. http://photos.yahoo.com/ Nameofperlscript command1 command2 command3 Params s...

Web resources about - Thinking in commands, developer tools command line - mozilla.dev.apps.firefox

Command - Wikipedia, the free encyclopedia
Text is available under the Creative Commons Attribution-ShareAlike License ;additional terms may apply. By using this site, you agree to the ...

Cameron Carpenter review: Bells and whistles matched by a command of the organ
It's certainly no exaggeration to call Cameron Carpenter's command of six keyboards (five for hands, one for feet) "genius". Purely in cognitive ...

Adele eclipses Taylor Swift to take command of the pop world
Adele Adkins is the first person to top the ARIA singles and albums charts in the same week since Swift exactly one year ago.

Command your club to victory in Sega’s Football Manager Mobile 2016
... How long can you survive on the Last Horizon? , and Dig, explore and collect stars in Starlit Adventures . Football Manager Mobile 2016 Command ...

How to craft your own custom voice commands for Amazon Echo's Alexa
With a little help from IFTTT, you can teach Alexa all sorts of new tricks. Here's how to get started.


Bethesda: Fallout 4 console commands 'not supported or recommended' on PC
In a very Bethesda-like fashion, messing around with console commands on the PC version of Fallout 4 might completely bug out your game more ...

Amazon Echo owners can create custom voice commands with IFTT
... item to your shopping list is pretty cool, but there comes a point where you start to feel the limits of the Echo's pre-programmed voice commands. ...

Huckabee: Don't Settle for Minimum Wage, Work to Command a Maximum Wage
In his opening remarks last night, Mike Huckabee said proposals to raise the minimum wage in several states will not bring prosperity and independence ...

Amazon Echo gets customizable voice commands thanks to deeper IFTTT integration
While Amazon’s Echo can tell you about traffic and control your smart-home devices, users haven’t had much ability to develop their own commands ...

Resources last updated: 11/30/2015 1:01:59 AM