At DNN Summit I learned of a new tool created by Kelly Ford called “DNN Prompt”. I first saw it in a session that Peter Donker gave and it immediately caught my attention. Since then I’ve learned more about it and want to share some initial thoughts on it.
Peter was demoing something related to the persona bar in his session on React.js when he mentioned that he was going to try a “new trick” he’d just learned from Kelly Ford. He then opened a panel up and a command line was visible. He typed in something like “new-extension” and voila, just like that a new extension was created. He closed the panel and moved on with this session, while I was left in amazement wondering what had just happened.
As one of the hosts of DNN Summit I was in and out of rooms all day, taking pictures and tweeting them, and just busy helping out in general. It was hard for me to pay attention to things, but whatever Peter had just done definitely caught my eye. I turned to the person beside me and asked them what was that panel he just used. I thought it may have been some Powershell script or something. The person to my left didn’t know either.
Enter DNN Prompt
After asking around and nagging enough people I learned that this new feature was called “DNN Prompt”. Prompt is the latest and greatest from Kelly Ford who most of the DNN Community knows as being the creator of XMod
Thinking back on it I think I remember hearing whispers around the DNN Community that Kelly had been working on something that was really cool, but yet I never heard any details. Now I’d seen it in action and was connecting the dots. At first glance I thought it was black magic of sorts.
In the time since DNN Summit I’ve been able to connect with Kelly and the team of people working on DNN Prompt and actually use the tool. It is definitely neat. In this blog I want to provide a quick intro video on DNN Prompt and relevant links for those who are interested.
The Return to the Command Line
It seems there’s been a recent trend going back to the command line among developers. If you look around at NPM, Node.js, etc. you’ll find the command line being used more and more. Even Kelly’s recent presentation to the Southern Fried DNN User Group here in Charlotte referred to this notion as his title was “How Something Old Can Make DNN New Again”.
Although the user interface for the command line is not as “user friendly” as a wizard based approach it does allow for faster execution of tasks. When you think about it, it really makes sense because the users of this kind of tool are typically admins or developers… not content editors… and they love this kind of power at their fingertips. Don't get me wrong though, this tool is more than just about speed. The vision Kelly has for the tool is very forward thinking and one to get excited about.
DNN Prompt is a Game-Changer
From my first few times using DNN prompt and from seeing people's reactions at the Southern Fried DNN User Group meeting (both in-person and online) I think it’s a game changer for DNN. Everyone's minds were spinning and it didn't take developer's long to see what this could mean for DNN as the tool is extensible. I think Prompt will be a DNN Administrator’s best friend. Normal DNN administrators will now be “Power Administrators” once they use DNN Prompt enough to know the commands by heart. At conferences in the future you’ll see everyone having Prompt installed, using, and referencing it. I plan on using it a lot in my own DNN sites and think that you will end up using it too! Kelly's goal is to get this into the core of DNN Platform and I hope he is successful with that goal.
As you saw in the video, DNN Prompt has the potential to be a game changer for DNN. It will impact the DNN platform, community, and ecosystem. Also, just as Kelly’s earlier DNN creation (XMOD) has done, I believe Prompt could follow a similar path and potentially spawn a new sub-ecosystem for DNN developers and administrators. DNN Prompt could open a new era for development within the DNN ecosystem as the possibilities are endless. Imagine doing all your daily tasks via the command line or imagine modules and other extensions having their own hooks into Prompt. What if you could instantly shut down registrations across 100 portals with one single command or script out batch commands to do whatever you want within your site… it could get interesting quickly!
Kelly ended his presentation with asking people to get involved. He wants to know your feedback, how you envision using the tool, the commands that would be important to you, etc. The good news is taht DNN Prompt is open source and active on GitHub! I know that the team of people developing the solution would love to have more people contributing to the code base and pushing the solution forward.
Here are some links for those of you interested in participating and knowing more:
As a sales engineer, I do a lot of online presentations for clients, prospects, colleagues and partners. When conducted well, online presentations and demos can be very effective sales tools. We strive to make our demos interactive.
The sales rep and sales engineer work together like a well-oiled machine throughout the demo. We encourage interaction and strive to be most efficient and effective as possible within the given timeframe.
Each presentation follows the same schedule. There are things to do before the demo, during the demo, then after the demo. In this post, I’ll share 32 tips to help you rock your online presentations.
Preparation is an obvious step. I mention it as a reminder that attendees are giving you their time, and their time is valuable. Be respectful of their time by thoroughly preparing and providing value to them. Ultimately a demo is like anything else in life: if you put your time and energy into it, then it will turn out well!
Agreeing on the agenda beforehand helps set expectations, reduces wasted time on the demo, and ensures that we only review functionality in which demo attendees are most interested. Since there is generally an hour or so for the demo, we need to make sure we hit the mark given the allotted time. By agreeing on the agenda beforehand, we drastically increase the productivity of the demo.
I learned this one the hard way. I had a webinar to present with a few hundred people waiting on me and as soon as I was made the “Presenter” my machine’s memory overloaded and I got the blue screen of death as my computer crashed. I had been working in numerous programs before the demo and apparently had nearly maxed out my memory and making the presenter passed the tipping point resulting in a few hundred people waiting awkwardly on me to reconnect. Now I restart my computer before demos so that my memory is not used up.
At some point, the presenter role will be passed to you. When his happens, the software (GoToMeeting, Join.me, or whatever you use) will ask you which screen you want to share. If you have a multi-monitor setup, this can become challenging if the monitors aren’t numbered or have similar names. Knowing your monitors names beforehand can reduce missteps. You don’t want to accidentally share to the wrong screen!
Be sure to reduce the number of potential distractions. Ever been on a demo and as soon as the leader shares their screen, you see their desktop icons and you start looking at all their files to see what they’re interested in? You are not alone, as everyone does it (admit it!).
In order to remove this distraction, be sure to hide your desktop icons or demo from a monitor that doesn’t have any application or document icons on the background. With fewer things to look at, your attendees will be more focused on what you show them.
Along the lines of removing distractions, you should turn off all pop-ups that occur on the screen from which you are presenting. The last thing you want is a sales person to send you a Skype message cracking a joke and have it show up during the demo. If you do leave Skype (or any messaging application) on, be sure you know the monitor on which the pop-ups occur.
Everyone knows it, but I’m still listing it here. Mute cell phones so that while you’re presenting there is not a constant vibration happening anytime someone emails or calls you.
If you use the same environment over and over, your browser’s cache can become corrupted. Browsers often try to remember passwords, cache content, cache URL paths, etc. and these cached items can sometimes trip you up. I usually clear my cache before each demo to ensure everything is fresh.
Just when you think you’re getting in the groove you will get a “tickle in your throat” and get choked up. You’re going to be talking a lot and a glass of water can save you in long-winded demos and in the moments that you may need to wet the whistle.
I always have a backup environment prepared should something go wrong with the primary environment. This takes more time up front, but it’s worth it. Having that backup environment can be worth its weight in gold.
Have a back-up plan for getting online. Yes, it only happens once in a blue moon, but what if you are scheduled to give a demo on that particular blue moon? Having a My-Fi or hotspot is well worth the investment.
Before the demo, try to find out who will be attending, so that you can speak the right language to them. You don’t want to talk about server architecture if you are demoing to the marketing team; you don’t want to talk to the server guys about lead generation. Tailor your story based on our audience.
This won’t apply to all of you, but I demo websites and online communities.
I make sure I have my site up and loaded in memory by the time they make me the presenter. I don’t want any time wasted on something to load up. So I keep my site “warm” just minutes before the demo so that the site is up and ready to rock by the time I get controls.
Some sites load URL’s from third party services, such as Google Fonts, Facebook, and Twitter. In my demo sites, I try to remove these external calls, so that if Facebook is having a bad day, it won’t affect my load time on the demo. There are scenarios where you have to rely on these external calls, but reduce them as much as you can.
During the introduction, attendees will tell you new information. In some cases the information shared during the intro can drastically alter what you present.
Listening and waiting to talk are two entirely different things. By listening, you can pick up things that may alter your demo. You can also pick up on personality traits, the mood in the room, and social queues that may help you better connect with the demo attendees. Listening carefully can help you establish better rapport with demo attendees throughout the demo.
We like to do a roll call during the intro of a demo as well. It never fails that there is someone in the room that we didn’t anticipate being there. It may be some manager, marketer, or developer who just happened to have another meeting cancel and was able to attend, but usually there is somebody either there or not there that we didn’t expect.
This again helps us to more accurately hone in the demo. If all of a sudden the CEO shows up on the demo, then we’ll be sure to add in the value proposition and benefits of each feature as executives don’t necessarily like to know the nuts and bolts, but ask the “why’s” and the “what results can we get” or “what does this help us do” type questions. Taking roll call will help you be on point with your delivery.
I ask the question early on as to whether or not the attendees have a “hard stop.”. This helps me know whether or not we can get long-winded with explanations or if we need to be very mindful of the time. Attendees may have an extra 10 to 15 minutes at the end and when that happens we know that we have more time for questions. Finding out the exact ending time of the demo early on can help you better manage time.
One thing I strive for is smooth transitions throughout the demo. Whether it’s transitioning from one subject to the next, transitioning from me talking to the attendees talking, or the transition of the “passing of the presenter role,” we want everything to flow as smooth as silk.
I ensure that our sales reps know how to pass the presenter in the meeting software we use.
I also tell them to pass the presenter as they are finishing up their last few points. This gives me time to get the presenter role and share the correct monitor. Otherwise, there is an awkward pause where everyone waits on me to get the presenter controls.
People present in different ways and that’s a good thing. Some like questions and interactivity and some don’t. Whatever your style is, set the tone early so that demo attendees know how to act and what to expect. I encourage questions, interruptions, and interactivity, so I put that fact out there very early on in the demo. Setting the tone will eliminate any guessing on the part of your attendees.
I encourage questions during the “Setting the Tone” stage because I want attendees to feel comfortable asking questions. At the same time, each question equals an interruption. The more questions there are and the more disruptions there are, the less smooth the demo goes.
Over time, you will begin to see where similar questions get asked. After you denote a trend in the same question being asked then just go ahead and answer the question before it gets asked. This will help things flow more smoothly. So, again, while I encourage questions, I hope to give such a thorough presentation that I remove questions just before they get asked!
On some occasions, there will be an attendee who is determined to get you hung up on some very minor technical detail. In these situations, it is your job to control the demo and not let the train de-rail. When these scenarios happen, it’s good to schedule these topics as “follow up” topics so that you can get your demo back on track.
Ever listen to a very dry presenter and wanted to be somewhere else? Don’t be that presenter! When appropriate, I like to inject humor. I crack jokes on the sales guys or on my own Southern accent. Your attendees will relax and build a stronger rapport and maybe even remember you more as a result.
Oh the echo, ooo… ooo… ooo… You know the echo that I’m talking about! We’ve all been on meetings where one person is using their speakers and their microphone picks up on the sound from the speakers which creates an echo effect. The person usually denies that it’s them, it makes things awkward, and then you have to recover and make things un-awkward again.
So what can you do about this? One option is to mute your participants. You can see which participant is making the noise and then mute them. In some meeting software, you can mute all attendees.
You may have heard of the “Power of the Pause” before. If we are presenting a demo and the attendees are not very lively, then I will show a feature and then ask them what they thought about that feature. Sometimes these pauses seem like an eternity and I just let the awkwardness hang until someone responds.
While it seems like a long time on my end, I know that attendees may be in a meeting room with the phone on mute and they may be talking to each other or going around the room seeing if anyone has a question.
When I first started giving demos I was scared to death of not knowing something. Though, not knowing something is perfectly fine. If someone asks you a very technical question there is nothing wrong with saying “Hey, I don’t know that answer, let me check with our engineers and then we’ll get back to you.” Admitting that you don’t know something lets the attendees know that you are human, builds credibility, and it also gives you something to follow up on. Following up continues the conversation and gives you another touch point with the lead.
Just as I’m doing here in this blog post, tell a linear story. Build on top of things you’ve already covered. Telling a sequential or linear story makes it easy for attendees to follow you and better consume the information you are presenting to them.
There will come a time when you have to present or demo something that is complex in nature. When this happens it’s best to try to describe these via multiple concepts. Sometimes people refer to concepts differently so using multiple descriptions can help ensure clarity and that everyone understands and is on the same page.
As you get close to the end of the demo, be sure to check on the clock. If you have a hard stop, you may have to cut a feature set short so that you can leave time for questions. Q&A is critical to the demo because there are some people who will remain quiet until everything is over and then they speak up. We want to ensure that we give those people ample time to voice their thoughts because they can provide great insight.
This is a chance for you to get vital information about the demo. Attendees’ comments can be key indicators as to the demo’s effectiveness and whether or not the lead is ready to move forward.
After the demo is over, we work hard to solidify next steps so we can keep the process moving forward. Identify any “deliverables” that you need to follow up on. Often times these deliverables are PDF documents, blog links, or videos. Summarize the set of deliverables and let attendees know when they can expect them.
Once you’ve established those deliverables be sure to follow up in a timely manner. This will help you keep the process moving forward while things are fresh on the demo attendee’s minds.
The reason we conduct demos is to progress a sale forward. If the demo is effective then the lead will want to continue the conversation. Ultimately the demo is a reflection of the presenter and the organization they represent. By fine tuning the process of a demo you can better move your deals forward! I hope these tips have given you some insight into things you can do to have your demos and presentations at their best.
I’ve recently been researching Splunk and have been impressed with its power, flexibility, and ease of use. This blog is not intended to be a step-by-step tutorial, but rather is aimed to show some initial findings, overview one way to integrate Splunk with DNN, and paint the picture of some potential use cases.
So What is Splunk?
If you don’t already know what Splunk is, Splunk is a software company based in San Francisco that produces software for searching, monitoring, and analyzing machine generated big data via a web style interface. Splunk’s software helps organizations with operational intelligence, log management, application management, enterprise security and compliance.
Installing Splunk was simple and after clicking around a little while it was evident that Splunk is an intuitive software. From a UI standpoint, it makes logical sense and the flow is easy to understand. And it didn’t take long to see and understand how powerful it is.
As you may imagine, I began to wonder if and how I could integrate Splunk with DNN.
DNN + Splunk: One Way to Connect the Two
One of Splunk’s powerful features is that it can literally suck in all types, styles, and formats of data. This data can be machine data, log files, or even data from a REST API. There are several mechanisms for getting data into Splunk, but for this scenario, DNN’s web API implementation makes this an easy fit. On the DNN side, a developer can easily create a custom module using web services to expose any DNN data on an endpoint, which Splunk can then access. If you’d like to go the custom module route, check out my other blog series on module development. However, I did not write a custom module to test the integration.
For my initial investigation into Splunk I chose to use DNN Sharp’s API Endpoint module as it allows easy configuration of end points. Splunk is architected to consume any type of data and then it makes that data extremely easy to search, create visualizations and/or alerts with. These searches, visualizations, and alerts can be very basic or very complex in nature.
Another thing to note is that Splunk is architected to do this at scale and can easily parse enormous amounts of data. For example, every time you drink from a Coca-Cola “Freestyle” machine at a fast food restaurant, the data from your drink selection is logged and Splunk helps analyze the data, denote trends, and sends alerts. So yes, those Coke machines (all across the world) are connected IOT devices and Coke is a Splunk customer. See how Coke is using Splunk in the Splunk Conf 2014 Keynote replay session. Imagine how much data that is on a global scaled --> Splunk is helping Coke make sense of it.
Side note: Check out the blog I wrote on using Particle & Splunk to monitor temperature
So, my first goal was simple: see if I could get data from DNN into Splunk.
Sticking along the thought process of “data logs” I figured why not expose the DNN event log on an endpoint and see what I could make happen. Obviously, the event log may not be the best use case as site administrators can clear logs or processes to automatically clear logs sometimes exist. However, for this initial test it is a good candidate. To get the event log data on an end point I used the DNN Sharp API Endpoint module to make a SQL query on the event log view and return it as JSON.
With the event log now sitting out there as JSON on a DNN end point now all I needed to do was get it into Splunk…
Getting REST Data Into Splunk
The Splunk side of this configuration only took a few minutes to configure and keep in mind I’m no Splunk guru (read, it’s easy!). Splunk is similar to DNN in that it’s extensible. Splunk extensions can be found on the Apps and Ad-Ons sections of the Splunk website. I tell you this because ultimately, I followed a blog by Damien Dallimore on getting REST data into Splunk which used a modular input extension and that was all it took. I simply completed the required fields in the Splunk REST Modular Input as shown below.
I chose to poll the data every 60 seconds. With this information inputted I clicked save and returned to the Data Inputs screen of Splunk and chose my newly created data source.
BOOM! I was seeing DNN event log info in Splunk!
Searching, Visualizations, & Alerts in Splunk
With data in Splunk now I needed to proceed to using Splunk to make sense of the data. Splunk’s searching functionality makes it very easy to search for, well... anything you'd like. I’m not yet knowledgeable enough to fully explain all the capabilities, but what I can easily see is that you can select your data source, click on keywords, add them to the source's search criteria and set your desired timeframe for the search. It’s feels as if you have a Google search bar and all your searches are performed on your data source and intellisense & syntax highlighting for your search are provided too!
Once you have a search returning data you can then create visualizations or alerts. And yes, there are tons of visualizations provided by Splunk. These visualizations can be saved as reports or live as “panels” that reside on dashboards. Dashboards can have as many panels as you want and you can have multiple dashboards if you like. Also, you can easily embed these panels into DNN or any other location by clicking the “convert to HTML” link that each panel has. Being able to display this info anywhere you like is a neat feature. Are your mental light bulbs turning on yet?
So, I created a few visualizations based on event log data that was available. I created a number-based-visualization to show a large number that represented a count of 404 errors, a line graph showing the number of failed logins, and a chart showing the 404’s over time. So, in just minutes Splunk was already helping me understand that I have some issues going on with one of my sites. I believe one reason for the 404's is that I've renamed some pages that I think bots are targeting trying to register. Anyways, I've got work to do... don't judge!
Opening Up Possibilities
Now you may be looking at this and thinking to yourself, yeah this is neat, but I could create a custom module to make something similar to this happen. And you would be correct, but keep in mind the potential use cases, flexibility, and scalability of Splunk in comparison to a custom module. You could easily have all your customers as data sources and create dashboards to help you (and your customers) quickly understand what’s going on with your customer's applications. You could also do data mashups of data from a DNN website/web app, some IOT device out in space, and any other data source you can think of to provide valuable insight. And again, Splunk has no problem doing this with massive amounts of data.
With just a little research into Splunk it didn’t take long to get my mind spinning with all the possibilities within DNN and beyond. Think about your current DNN use cases, requirements of your customers, and the exploding IOT market and you’ll soon see the light.
Here are some ideas I had right off the bat:
As you can see the power and flexibility Splunk provides is really nice. I believe Splunk could be a game-changer especially for those with large amounts of data to parse, anybody in the IOT space, and much more. I hope this blog has provided you with an introductory glimpse into some of the capabilities of Splunk and even got you thinking of potential ways to integrate Splunk into your applications or customer's environments. I am still learning about it and hope you will too. I know that I'm just scratching the surface here in my initial findings.
Find out more about Splunk at http://www.Splunk.com
This past week we had another Queen City DotNetNuke User Group meeting. This meeting was unique in the fact that we had been promoting hard because DNNCorp flew one of their engineers out to speak to our group. Will Strohl arrived to Charlotte late last Wednesday evening. I gave Will a late night mini-tour of Charlotte and we talked as we rode around. Our meetings happen every 3rd Thursday so it wasn’t long before the next day came and it was meeting time.
At some point either Wednesday night or Thursday during the day I told Will that I thought we should open the meeting up and try a Google+ Hangout to see if any DotNetNuke developers in other areas would like to jump on to watch the presentations. Will was open to it and so I made a point to bring my laptop. When we got to Microsoft (our group meets at Microsoft Charlotte) we began setting everything up. We weren’t really sure how the video or audio quality would be, but we wanted to give it a shot. I put my computer off to the side of the table (near an outlet) on the front row. I turned the Google+ Hangout on and posted a link to it on Twitter. Within minutes I had my first taker. Gifford Watkins, a DotNetNuke phenom from Nova Scotia, jumped on to see what the fuss was all about. Shortly thereafter we had one more, then another, then another and before long we had a crew on a Google+ Hangout at least 20 minutes before the meeting began.
One of the first things I did was to give the guys a walk-around tour of the meeting. I got my laptop in my hands and showed them the room and the spread of food that we had at the meeting. I showed them the server rack near the door and randomly videoed people and talked with them as I walked around. It was kind of like a live virtual tour of the meeting. I did this to try to give the hangout attendees as much of a view of what was going on as possible.
The guys online were saying that they could hear me well and see the video clearly so it seemed like it was working out well. I told them we would do the best we could to make them feel like they were attending the meeting with us. To achieve that we also had one of our guys join the hangout. Will turned his laptop and joined the hangout and he interacted with the attendees via the chat window. One issue we had to overcome was when someone at the meeting would ask a question from the back of the room. Obviously the guys online couldn’t hear the question so Will would type it out to them in the chat window. He also typed some lines of code that one of the presenters used in his slide deck to make sure the guys could clearly read it. During the Hangout one of the guys typed that being a part of the Hangout was better than being at the actual meeting because they got to see the presentation plus they didn’t get in trouble for “passing notes”. His statement referred to the fact that the hangout attendees could read and write message to each other in the chat window. Will also typed to the hangout attendees and asked them if they had any questions for the speaker and sometimes they did so we were able to ask the speaker questions from hangout attendees as well! Remote Q&A with the speaker. Cool stuff!
In this picture you can see our speaker, Will Strohl, interacting with members of the Google+ Hangout
One note that is worth mentioning is that to make this happen the hangout attendees needed to turn their microphones down. I could see where some of the attendees were muting each other because they were getting feedback or their sound would steal the “stage” of the live speaker momentarily because that’s how Google+ Hangouts are configured. We just had to ensure that our speaker was the “live speaker” in the hangout and muting the microphones did this.
I will add one unique note as well. We had one DNN guy who wanted to attend the meeting. Robb Bryn was attending a meeting in the afternoon and was heading to Charlotte after his meeting. His meeting went over by a couple of hours so he was unable to make it. Though, when he found out about us opening it up to a Google+ Hangout he was able to join the hangout from his phone while driving down the road. I could literally see him in his truck riding down the road with trees passing him in the background of his driver’s side window. Eventually Robb finally pulled over on the side of the road and watched the whole meeting from his vehicle. Now that is some dedication and also some awesomeness that he was able to achieve via his Google+ app on his phone.
Richard English raising his DotNetNuke mug as he enjoys attending the meeting from afar
By the time the meeting ended we had 12 people total on the Hangout from Egypt, the Netherlands, Ohio, Cali, Pennsylvania, South Carolina, Florida, North Carolina, Nova Scotia, and a few more states up north. They weren’t all on at the same time and some came and went, but nevertheless it was very neat to open the meeting up and reach out to even more people via the Hangout. At the end of the meeting the guys on the hangout were all commenting on how everything went well and they said they really enjoyed it. Some remarked that they felt like they were there and that the video and audio was very clear. They could even read the text that was presented on the screen. We asked them if they thought joining the hangout added value or was beneficial for them and they all overwhelmingly remarked saying yes! They also requested that we do it more at future meetings.
Ultimately the decision to open the meeting up added a new dimension to the meeting. During the meeting we had a lot of energy in the room as well as online in the hangout. There were 2 different conversations going on at the same time and it was really cool to be a part of the live & virtual meeting at the same time. I think we’re definitely going to try to do more of these in the future and I would encourage any other user groups to give it a shot so that members in your community who aren’t in the local area can also attend and contribute.
Google+ Hangouts just changed our user group meetings for the good! And with that said…be sure to tune in to our next meeting!
It’s DNNCon week! The DNN Community is ramping up with excitement about the conference this upcoming weekend. I know that our Carolina based crew is looking forward to the road trip to the DC/Baltimore area, the convos/sessions/parties at the conference, and most of all the fellowship with everyone in the community.
That said, if you’re still on the fence about attending I think you should give a go and here are 3 reasons why: