text:
On this episode of Eat Sleep Code, we're in front of a live audience at Code PaLOUsa talking about all things mobile. For this episode we've assembled a panel of mobile experts featuring Sam Basu, Mike Branstein, and Nick Landry to share their advice on tackling modern mobile development.
Samidip Basu (@samidip) is a technologist, Apress/Pluralsight author, speaker, Microsoft MVP, believer in software craftsmanship, gadget-lover and Developer Advocate for Telerik..
With a long developer background, he now spends much of my time advocating modern web/mobile/cloud development platforms on Microsoft/Telerik stacks. His spare times call for travel and culinary adventures with the wife. Find out more at http://samidipbasu.com.
Developer, technology evangelist, author, and geek dad. Passionate about systems architecture, ALM, and NativeScript! (co-author of NativeScript in Action)
Nick Landry (@ActiveNick) is a mobility pioneer and expert specializing in the design and production of mobile applications for consumers and the enterprise using diverse cross-platform technologies including Windows Phone, Windows 8, iOS, Android, Mobile Web, Xamarin and PhoneGap.
Nick is a Senior Technical Evangelist with Microsoft in the New York Metro area and works with developers, students and IT pros to help them learn, adopt and use the Microsoft developer platform to design and build the next generation of apps for Windows Phone, Windows 8 and Windows Azure.
0:00:00 Automated Voice: This podcast is part of the Telerik Developer Network. Telerik, by Progress.
0:00:16 Ed Charbeneau: Hello, and welcome to Eat Sleep Code, the official Telerik Podcast. I'm your host, Ed Charbeneau, and today, we have a special episode recorded in front of a live audience here at…
0:00:26 Audience: Code PaLOUsa!
0:00:28 Ed Charbeneau: Hope you enjoy the show.
0:00:35 Ed Charbeneau: Okay guys, so welcome to the mobile strategy panel. My name is Ed Charbeneau. I work for Telerik or Progress. Developers seem to know us better as Telerik from the brand of.NET products that we've have built over the years. But now, we are Progress, and I work for Progress as a developer advocate. And part of my job is to do stuff like this and record a podcast. And I also work with some of these panel members here. We'll start with Mr. Sam Basu here. Sam, wanna introduce yourself?
0:01:09 Samidip Basu: Sure thing. So good morning, guys, and thanks for being here. So my name is Sam Basu. I unfortunately happen to work with Ed. I'm also a developer advocate for the Telerik products at Progress. And a long-time Microsoft.NET guy, but also, stepping to web and mobile, so that's me.
0:01:26 Ed Charbeneau: And next, we have Nick Landry. Nick works for Microsoft. Nick, tell us a little bit about you.
0:01:33 Nick Landry: My name is Nick Landry. I'm a technical evangelist, which is the original term for developer advocate, but it's the same thing in the end. You might call it different but…
0:01:41 Samidip Basu: So you don't preach at a church anymore? [laughter] Come on!
0:01:45 Nick Landry: So yeah, I'm a technical evangelist from Microsoft. I've been in Microsoft for three-and-a-half years. Prior to that, I was an MVP, Microsoft MVP for 10 years. I've been in this business for about 25 years now. Speaking of mobility, I've been doing mobility for 15 years now, or as I like to call it, five years before the iPhone came out. So it was a very different landscape back then. Today, I focus on cross-platform mobility. But beyond mobile, I also do IoT, both server side with the cloud, and client side with electronics. I also do conversation as a platform, including the session I just did with Bot Framework, digital assistants, computer speech, natural language processing, and cognitive services. And if you saw my session yesterday morning, my last pillar of specialty that I've been focusing on for a year now is mixed reality, specifically, with the HoloLens, which is, in a way, another form of mobile development. So that's what I do.
0:02:45 Ed Charbeneau: And next up, we have Mike Branstein. Mike is a Louisville local here working for KiZAN. Mike?
0:02:52 Mike Branstein: Yeah, thanks very much. I'm Mike Branstein. I'm a developer. So my area of specialty are particularly.NET. I've been doing.NET since.NET was.NET. And been recently getting into mobile. And wrote a book on NativeScript, one of Telerik's products on mobile, which will be published soon. Other areas of specialty are TFS with build and release automation on TFS. I really love that, and along with the DevOps and Agile spaces. So I'm excited to be here and really get real about mobile.
0:03:28 Samidip Basu: Do you need hugs, Mike, with TFS?
0:03:30 Mike Branstein: Oh, I always need hugs.
0:03:33 Samidip Basu: So the green text, guys, by the way, that's our Twitter handles. So if we are done with this, and if you still wanna ask us questions, keep the conversation going, just ping us any time, we're always on.
0:03:42 Ed Charbeneau: Absolutely. And we're gonna get in some back and forth discussion here. I think we're gonna kick things off with a little bit of each individual's specialty, first. Sam, why don't you give us a little bit of an overview?
0:03:54 Samidip Basu: Yeah. So this is one of the slides I use to give folks an overview of all the different options you have, and then, we're gonna dive into Xamarin. I know Nick can speak to Xamarin quite a bit as well. So I think when you look at building a mobile app today, there are lots of ways in which you can do it. It all depends on… The technology stack that you've picked really depends on your skills as a developer, and the type of app that you're building, the type of audience that you're trying to target, and what kind of codebase you wanna keep maintaining. So maybe this is my one-man spiel on all the different ways in which we can go about it. So the lowest-hanging fruit, sometimes, is mobile web. If you have a website, and we'll talk about responsive maybe in a bit; there is no reason why the website cannot work nicely on a mobile device. There are lots of frameworks that help you out.
0:04:40 Samidip Basu: So that's the easiest thing. The hardest thing, maybe, on the other side of the spectrum is native. You can target native apps for iOS, Android, and Windows. The challenge is these are three distinctly different platforms with distinctly different IDEs and programming paradigms. So it's hard for one individual to learn all of these things. It's actually harder for enterprises to maintain three different teams with three different skillsets, and yet, have one app from three different codebases. So that gets hard. But I'm a huge fan of native, as I'm sure Nick is. You get closest to the medal, best possible developer experience and user experience, but it's hard. So that's when you look into going cross-platform options. If you look at cross-platform options, it again depends on the technologies that you are already familiar with. If you already do web stuff, there are lots of options for you.
0:06:13 Samidip Basu: And I think you got a couple of options here. In the last couple of years, we have seen the JavaScript native side of things really pick up steam. I'm sure Mike would talk more about this. But this is where you're using true JavaScript, or Angular, or TypeScripts to make native mobile apps that are also cross-platform. So you have several frameworks in there that help you out. And then, for us.NET developers who have invested our time in the last several years in C# and XAML, if that's your thing, I think the boat has sort of sailed with Xamarin, which they do a tremendous job of letting you write your code in the IDEs and in the languages that you're comfortable in, and cross-compile them down to native apps for iOS, Android, and Windows, Mac, Smart TVs, smart watches, you name it. So it's quite a gamut of options and we will dive in tomorrow about Xamarin.
0:07:04 Nick Landry: One thing that'd be important to point out, since most of the audience here is not doing mobile development yet, is to recap quickly, also, what tools do you use to build native apps? Because for example, if you're an Android developer, then you're gonna be using Java as your primary platform to build Android apps with the Android SDK. Historically, you were using Eclipse as the IDE, but in recent years, Google has adopted Android Studio, which is based on JetBrains IntelliJ, to actually build your android applications. The whole build system is completely different; it uses Gradle. And so, it's a whole mindset you have to get into of Java, Android SDK, Android Studio, and you can do this on both Windows or a Mac.
0:07:50 Nick Landry: If you're building for iOS, then you have to be on a Mac, that's an absolute certainty. It's an Apple rule. The only way that you are allowed to compile an iOS package is using Apple's tools, writing on Apple's operating system, running on Apple's hardware. You cannot get around that. And the tool is Xcode, that's Apple's IDE. The language, it started with Objective-C. Maybe somebody could close the door back there. The language is gonna be either Objective-C, historically, which is now losing favor because let's face it, it's Objective-C. And it's been replaced by Swift, where… Objective-C is still supported, of course. Swift is the new language that Apple has created, and it was later open-sourced as well. And you could now only do this on a Mac and they have their own SDK for it.
0:08:47 Nick Landry: And then, for the Windows applications, and when we say Windows, let's immediately clarify something. Windows is a big world. There's the desktop applications, the traditional Win32 apps that we've been building for years; we're not talking about those today. We're only talking about the store side of things. I don't wanna just use the term "mobile" because a Windows Store app can run on a desktop, can run everywhere. So it's what we call the Universal Windows Platform, so what used to be called WinRT in the Windows 8 days. And it's got rules also in Windows Phone and everything. So a Windows 10 application is gonna be built in Visual Studio using C#, and you can also try to extend/use things like VB or F#. But C# is pretty much the primary language, comes with its own SDK. So that's why now, if you wanna be a mobile developer, you gotta know all this. Or the other options we're gonna be discussing here.
0:09:41 Ed Charbeneau: Yeah, I think you made a good point to it. I think mobile, in general, is getting to be a very fuzzy term. We have a lot of devices that are mobile, but they don't necessarily show themselves as a small candy bar-sized device. We have things like HoloLens and IoT devices that have different types of inputs. We have speakers that are mobile but have personal systems on them. So the topic can really get to be wide-ranging.
0:10:13 Nick Landry: And even the iPad pro is chasing the laptop market now, and trying to turn it into a true laptop replacement, which I won't comment on that. But mainly, it's iOS. So if you wanna build for that, it's more almost of a laptop application you're writing, but you're still using those same iOS tools.
0:10:33 Mike Branstein: And Android isn't just your phones, your tablets. There's watches, there's TVs, all of the Android Wear…
0:10:39 Nick Landry: Set-top boxes. Yeah, everything. Yes?
0:10:43 Audience: You said you won't comment on why the iPad is a productivity device. I heard that in the news, but I don't know, really.
0:10:50 Samidip Basu: So the question is, can the iPad Pro really be a productive device and your laptop's replacement?
0:10:56 Nick Landry: It's subjective, really. The iPad is a great consumption device. This is where I have to give you my personal opinion. I'm not speaking for Microsoft on this one, but from what I've read, it's basically what makes or breaks a platform. It's the apps. It's the apps, but it's also the model of the operating system. IOS was designed to be a very siloed environment where apps are isolated from one another. And let's face it, when you own a productivity device like a Mac or a Windows machine, you wanna have access to your entire file system, manage everything in there, and then, launch one app or another to do your work, switching around. And this is something where, frankly, Apple is still playing catch-up in terms of functionality to both Windows, and even, honestly, to macOS. MacOS is much more of a desktop and a laptop operating system than iOS is. But I think Apple also sees that iOS is much more popular than macOS, so I don't know what they're gonna do. Some people speculated they might merge them. I can't speak for our competitors, to be honest with you. And Apple is also a partner, not just a competitor. But the bottom line is, Tim Cook said he was not gonna merge them.
0:12:08 Samidip Basu: I don't think they are.
0:12:09 Nick Landry: Others are saying that iOS is gonna be the platform of the future, and macOS is gonna get deprecated, but who knows? You would have to ask Apple.
0:12:15 Ed Charbeneau: Yeah, one of the things we haven't seen is the Mac operating system pick up touch in a useful way.
0:12:21 Nick Landry: Yeah, I don't think that they ever will.
0:12:23 Ed Charbeneau: So it'd be hard to see that that operating system be a mobile type of a device.
0:12:29 Samidip Basu: Yes, so I think, to answer your question, I think it depends on the audience. My mom doesn't really need a computer anymore. If all she's doing is Office and web stuff, the iPad Pro is just fine. So we developers may not consider that to be a productive device, but for a majority of folks, it is. So it all depends on who the target audience is.
0:12:49 Nick Landry: Yeah, we also believe in it. We put Office on it. In fact, when they announced the iPad Pro, Apple had actually invited one of our Microsoft executives on stage at an Apple event. I know, at that point, the temperature in hell was probably -10 or something because…
0:13:04 Samidip Basu: It happened back in 1984, one time.
0:13:06 Nick Landry: Yeah, it was basically a Microsoft executive on stage to talk about Office for iPad Pro. As I said, they're our partner as well.
0:13:13 Mike Branstein: Yeah, I like to… Different, not just consumer groups for these tablets or… So iPad Pro, for example, but even as a developer, I might choose a different device at a different time of my day in what I'm doing. I'm not pulling my whole laptop out if I get home and just wanna browse the Internet. I'm pulling out a tablet, I'm using a tablet. If I'm just casually looking at notifications, that might be my watch or my phone. It's a different type of day for a different person, which is why I think there's a success in all these variety of devices.
0:13:43 Nick Landry: And when my laptop is also a tablet… [chuckle]
0:13:47 Ed Charbeneau: And I think we've covered pretty well that all of these different approaches to building whether it's an IoT-based device, or an iOS or Android, or Windows Phone, or any of those things require some kind of specialized language, tools, platform if you're gonna build just natively for one of those devices. I think we've got that squared away. So as developers here at a conference, one of the things that I would be looking for is, "How do I cover as many of these bases as possible with a single language or platform so I have the least amount of learning curve, and development time, and reach as many devices as I can?" So let's talk a little bit about some of those type of approaches, which should be things like Xamarin, NativeScript, mobile web, Apache Cordova.
0:14:41 Samidip Basu: Yeah man, it's 2017, you really have to be a cross-platformer. And don't tell me that your app isn't available on the phone that I have. So as developers, I think it's our responsibility to make sure whatever we are doing reaches the max audience. And devices and platforms shouldn't be the deterrent anymore. And to your point, there are lots of ways in which you go about doing this. It's sort of a flowchart, and you lean one way or the other based on your skills. If you are hardcore on the web stuff, go all-web. If you are.NET, then go all Xamarin. I think that's easy for the road.
0:15:14 Ed Charbeneau: Yeah, and Xamarin covers how many device? Well, not how many devices, but how many, say, platforms? 'Cause we've got the major two operating systems, and we also have things like Tizen and watches.
0:15:28 Samidip Basu: Yeah, everything. So this is, again, one thing that I think Microsoft loves saying because Xamarin completes that.NET story. So with.NET and C#, there is nothing you cannot target. Everything, every device, you can target. That includes iOS, Android, UWP, obviously, which immediately means if you're making apps with Xamarin for UWP, your apps now run on HoloLens, on Surface Hub, and all of these futuristic devices. But you also have folks like Tizen and Samsung pick up their stuff. So hey, a Samsung fridge, your Xamarin app runs on it. So I think Xamarin is one of those blanket technologies, which really cover all platforms. And you're doing this all from a C# XAML codebase, using the IDE on your chosen platform, Windows or Mac.
0:16:14 Mike Branstein: Now, I think there's… We're leaving out… All four of us, we are.NET developers, that's our primary platform. But there's also the rest of the world that doesn't do.NET.
0:16:26 Ed Charbeneau: Yes.
0:16:26 Samidip Basu: Sure.
0:16:26 Mike Branstein: So there's a large population out there where JavaScript, and JavaScript frameworks are, "This is my life. I develop on Node." And so, we've seen this with our eyes in the last three years of JavaScript native frameworks. When you're writing in JavaScript, you're using frameworks like Angular 2, React, or Angular, really, is what we're calling it now. And those are running native apps on your phone. So I can use those existing skills similar to on the C# Xamarin side; other skills that I might have for the web, but truly, creating a native app for me at that same time.
0:17:04 Ed Charbeneau: Yeah, and let's double-clarify: Native meaning no WebView at all.
0:17:08 Mike Branstein: No WebView at all. So when I say, "Hey, go put a button on my screen," it's rendering, not just rendering, but it is an iOS button, it is an Android button, and that's how it works.
0:17:19 Ed Charbeneau: So is it something like you're writing JavaScript, and it's powering some kind of HTML. You're writing JavaScript, and it's being translated to the native iOS or Android APIs, and pulling up the native UI elements, not some WebView with an HTML button.
0:17:38 Mike Branstein: You've said it exactly right.
0:17:39 Nick Landry: And so, it's an interesting distinction because the word "native" gets used a lot, but then, what is the definition of native? When you're just using the one platform and the native tools, the original tools from that manufacturer for the platform, it's easy. But when you start using these cross-platform tools that all claim to be native… So with the Xamarin team, which if you haven't heard, we bought Xamarin last year, so Xamarin is now part of Microsoft. For the Xamarin team, our definition of native, and it's up to debate, I guess, it's three factors. The first one is gonna be the native UI, meaning that this application, the controls that you will see in the UI for that app are gonna be the native controls of the platform. So not a WebView like you said, not a custom rendering of a control from that solution. It's basically gonna be if you put a button, it's gonna be an iOS button, or it's gonna be an Android button, or it's gonna be a Windows button, the way that it would be if you had used the native tools on that platform; and so on for the entire UI.
0:18:46 Nick Landry: The second factor is gonna be native performance, meaning that the app is compiled. And it's gonna be compiled, at least, at the same level that it would be when using the native tools. So on iOS, an app is natively compiled. It's unmanaged code, just like standard C++, and it's running native code that is built against the CPU. Just like on Windows; on Windows, a UWP app is a native app. There's a lot of people that get confused because they see.NET languages like C#, and they use Visual Studio, and it looks like.NET, but a UWP is not a.NET app. It's an app that can follow a.NET profile, but ultimately, it is compiled natively. Do a File-New project, Universal Windows Platform, look at your targets. You will see x86, x64, and ARM. "Any CPU" is not there, 'cause the only way you can get "Any CPU" is when you have IL code like JIT-compiled code at runtime the way that.NET does it. So.NET can be considered native anyways because it is JIT-compiled at runtime in a CLR. But a UWP app is truly native in a sense that it's compiled by the same compiler that a C++ compiler would be using.
0:20:05 Nick Landry: And then Android, Android uses Java. Java is also native, but it's managed code as well, in a sense that Java gets compiled on Java bytecode. And then, the bytecode, at runtime, gets JIT-compiled by the Java virtual machine, which on Android, is called the Dalvik Virtual Machine, Dalvik VM. Or the newer runtime since Android 4.4 now, if I remember correctly, is ART, which is basically Android runtime. And with tools like Xamarin, for example, we're not adding an extra layer on top of Android; we're simply replacing the Dalvik VM or the Android runtime with the Mono run time. So that your C# code gets compiled into IL, and then, JIT-compiled at runtime by the Mono runtime to generate machine code directly for ARM devices or wherever your Android is running.
0:20:57 Nick Landry: So to recap, we have native UI, native performance, meaning compiled code not interpreted at runtime, but compiled at runtime or compiled at compile time, and the final one is API access. IOS comes with its own set of iOS SDK and frameworks and APIs. Android has its own. Windows has its own. And a true native application needs to be able to call 100% of all of the APIs of each of the three platforms. It doesn't mean that code can be shared because there's a lot of APIs on iOS that don't exist on Android or Windows, and vice versa. Or sometimes, an API exists in all three like, I don't know, Bluetooth? But those APIs are wildly different in all three, so you would have to write the code three times. But the app could be considered native if you have access to those APIs. And that was the main thing that people were complaining about things like Cordova, because Cordova gives you only a subset of those APIs. And then, if you end up trying to call APIs that are not supported in Cordova, you would have to write your own plug-ins and things like that. So to be truly considered native… So, I don't know if you agree with this, but…
0:22:12 Samidip Basu: No, I do.
0:22:13 Nick Landry: The UI performance and API.
0:22:14 Samidip Basu: So I'm with you on the UWP and the Xamarin boat and what we call native. But to also, to Mike's point, if you look at the JavaScript native side of things, it is truly native UI across all platforms. It is 100% API access across all platforms. The runtime is where it differs a little bit, and again, to your point about Android, it is a JavaScript Virtual Machine at runtime you're calling the same APIs.
0:22:39 Nick Landry: Yeah, right.
0:22:41 Ed Charbeneau: Is it compiling a code for machine, or is it interpreting it?
0:22:44 Mike Branstein: It is taking the code, and I believe it is an interpretation of that code.
0:22:48 Ed Charbeneau: Yes, 'cause you cannot really compile JavaScript. [chuckle]
0:22:52 Nick Landry: You can, but anyway, that's another thing. [chuckle] But no, but I agree that… So that's where somebody could call all of this native, but there's different levels of native. And by our definition, it meets two or three. But if you were to compare performance, I'm sure that for equal code, equal skill, the true native would be much faster.
0:23:17 Ed Charbeneau: I was not up to using this.
[overlapping conversation]
0:23:18 Nick Landry: But anyway, it's up to using the site.
0:23:19 Samidip Basu: Not tremendously faster, yeah, so I think…
0:23:20 Ed Charbeneau: Not tremendously, no. They've actually benchmarked this. I think this is one of the things that drove us, the Apache Cordova type stuff is what drove the engineers that progressed/build NativeScript, is that we wanted the performance of native, and I think we've done a good job reaching a 99% effort on that.
0:23:42 Samidip Basu: And some of it like React Native, just for honesty, what Facebook does, this is the way web guys can actually build native apps, and this is as close as you will ever get to the medal. So yes, we can say two out of the three things are clearly checked. The third one, it's a little integrated at contact.
0:24:00 Mike Branstein: It's highly-optimized.
0:24:01 Samidip Basu: Yeah.
0:24:02 Ed Charbeneau: It's very highly optimized. If you were to write something like a game that has to take full performance of that device, then you may see some sort of lag or something like that. It might not be a choice for a gaming situation. The main line-of-business application, your end-users aren't gonna see any kind of performance difference.
0:24:21 Nick Landry: You could do some massive data crunching as well.
0:24:23 Ed Charbeneau: Yeah.
0:24:23 Nick Landry: If you are running an algorithm, and you're running a lot of data, loops and everything, then that's where compiled code… We all know how developers are. Developers are very opinionated. There's a lot of purists out there. And for a lot of developers, if it's not machine code for the CPU, it's not native. But it could still be optimized and be adequate, I would say, good enough for the scenario you have. As you said, if it's 99% or 90%, some developers might be okay with 80%. It depends only on what your needs are, what your users also are gonna demand.
0:24:56 Ed Charbeneau: Let's talk about those user demands a little bit. So a lot of these tools depend a lot on what your skillset is, or what your team skillset is. So let's talk a little bit about that because we've got something like Xamarin, that's C# and XML. And we've got NativeScript that is XML, CSS, and JavaScript. So a lot of that plays into, "What are your team skills?" And even, "What is a talent pool like? Who can you hire?"
0:25:27 Nick Landry: That's the number one consideration, by the way. I get that question all the time. "I'm building a mobile project. Should I use Xamarin? Should I use Cordova? Should I use NativeScript, whatever?" The number one question I always ask them is, "What is the skillset of your team today?" Period. If they tell me that they're a webshop, even though I love Xamarin, and that's, by far, my favorite way of doing things, I will not tell a webshop to go with Xamarin because that's a disservice to them because they already have the skill to build maybe something in Cordova, or at least, using JavaScript is gonna be easier for them because they probably already know it. So always go with the skillset of your team first.
0:26:04 Samidip Basu: And another consideration is, "What else are you doing?" So if you are a.NET shop and you have a whole lot of investments into XAML technologies, and you have WPF apps, you're building UWP apps, Xamarin is a very automatic choice because not only can you share your skills, but you can start sharing some code. And the same goes with the web side of things. If you already have an Angular web app, if you already have a JavaScript-powered, full-featured enterprise app, look at these JavaScript-powered mobile technologies because you will end up sharing some code between web and mobile, and that's a win-win.
0:26:39 Mike Branstein: And I get the question of, "Yes, we wanna do a Cordova, or we wanna go JavaScript native, our team does either React or Angular." Those are, pretty much, the two competing, frontline JavaScript frameworks that you're gonna see on the web today, if you're going that route, especially for single-page apps. And if your team is comfortable with React, take a look at React Native. If you do Angular, or Angular 2, or Angular in general, then you're gonna wanna look at NativeScript because those options are available to you.
0:27:15 Ed Charbeneau: So let's talk a little bit more about the web developer side of this 'cause we talked about if you have a web forms-heavy or Windows-heavy development team, and you have a web-friendly development team, these are the choices. What if you already have web applications that are deployed, and they run fine in the browser, and the browser works on most mobile devices? So why can't I just use my existing application and make it mobile?
0:27:45 Samidip Basu: So you're essentially asking, "Is mobile web still a legit strategy?"
0:27:49 Ed Charbeneau: Absolutely.
0:27:50 Samidip Basu: Yes, and I mean yes and no. So I think it depends again on the app. If it's a line-of-business app, and if you do not want to dive into the device's specific features, and if you do not have any monetization needs, you do not need that app to be in the store… Like you're a local restaurant, you're a local church, or whatever, schools, yes, it's a great option. There's…
0:28:09 Ed Charbeneau: I don't wanna interrupt you. I wouldn't look down to restaurant apps and schools.
0:28:13 Samidip Basu: Oh, I'm sure, yes, yes.
0:28:14 Ed Charbeneau: Line-of-business applications as well, behind your firewall, don't need to be in a store. And they can be rather large and fully featured.
0:28:23 Samidip Basu: Yeah, sure. And again, what we call mobile web is also evolving. So maybe we'll get into progressive web apps, eventually, but there's this whole idea that the web can be a really nice distribution model. You just don't have the store presence. And again, the stores can be a mixed bag. I might almost argue iOS or Apple stores and Microsoft stores having these millions of apps. It makes it hard to find your apps. So if you are just line-of-business app, or even a B2C app, and you just want customers to find you with the link, than yeah, mobile web still works, knowing that you will have some limitations of how much you can do on the device.
0:29:02 Mike Branstein: My question always, to a business, might say, "We need an app," is the first question is, "Why? What aren't you achieving with the solution you have today? Is there a business demand, something driving you to go and invest that money to build the app?" Maybe it's really marketability for you to say, "We have an app," and just to have that. And maybe that is the reason. But you really have to have that discussion first to determine, "Is this going to get me something more than I have today? Is it intended to bring a new line of business to us?" Or, "What is that business driver, first?"
0:29:36 Nick Landry: The question also is, "Who are your users, and where are they located?" It's very easy to just keep an American mindset where we live in our 4G/LTE networks and get access to everything, or we get Wi-Fi everywhere, but if your app needs to reach the users that are in other parts of the world, I could show you a map, for example, of cellular data coverage in India and Africa. And you'll look at the map at first and say, "Well, it's not too bad." But then, the moment I turn off 3G and 4G, and only show you the areas where… Or rather, where you only have access to 3G and 4G, now, it becomes very, very small because most of these users are still on 2G data cellular, which is extremely slow.
0:30:23 Nick Landry: So the big difference between an app and mobile web is that the app, you download once. So maybe, you've downloaded it when you were over Wi-Fi. And there's a lot of people that it's actually what they do. They don't have connectivity where they live, so they go to a village or a town where they get access to Wi-Fi. They download their apps, they get access to their news, they download their data, they do their banking. And then, they go back to their village where now, they're in offline mode the entire time. If you have a pure web solution, it's possible to do offline, but you're gonna have to jump through a lot more hoops.
0:30:56 Nick Landry: And when they are connected, if you're connected over 2G, you would prefer to just exchange a little bit of data rather than having to download all of the HTML markup that's required to power a web app, including the images and the HTML code and everything, because everything is baked together. So that's where an app is gonna be superior for those kinds of users. So ask yourself, "Where are the users? Where do they used it?" And then, it doesn't have to be rural Africa; it could be rural America where there's areas we only have one bar in a certain situation. So you have to ask yourself, "Where are the users located?"
0:31:31 Ed Charbeneau: Yeah, I was gonna add to your point and say, we are in Louisville, Kentucky recording this. And everybody in the room, if they're not from Louisville, they've probably traveled from Ohio or Tennessee, maybe. You're gonna drive through those areas. You're coming through anywhere south of here, it's gonna be very low bars, or you're on the EDGE network. And there are lots and lots of farms and businesses throughout those areas, and there's been a lot of IoT automation, mobile devices, and all kinds of computing devices being deployed into the farming industry. So you see a lot of stuff out there. And if you're on a farm in the middle of somewhere in Ohio or Tennessee or even Kentucky, you're probably not gonna have some kind of strong Internet connection.
0:32:23 Samidip Basu: You guys are describing a Sunday morning ritual where I walk a mile, and I get my water for the week, and I get some apps. [chuckle] Just to last me the whole week. So yes, that's a legit consideration. But also, if you look at what the mobile web is morphing into, you guys see Google push progressive web apps big-time. So maybe we can just have a quick definition what that means. So the idea is every website can be a nicely fully-featured app on your phone. And it's not easy to do. Not every website can do that, it's an engineering effort. So the idea is you will download the app. It's a spa, and you'll download the app one time when you put it up for the first time. And then, it does a whole bunch of offline caching for you. It has service workers running in the background, and you can actually pin the app as an icon on your home screen, but you're giving your prime real estate. And beyond that one, you can walk back to your village, and you'll still have an app that works like an app that you get from a store.
0:33:25 Ed Charbeneau: And there was some word about Google surfacing these progressive web apps in their store as well. I don't know if they're gonna be located in the same positions as the actual native applications, but there will be a section or something that's going to show these progressive web apps.
0:33:47 Samidip Basu: Yeah, so…
0:33:47 Ed Charbeneau: They'll be installable from the store, even. Whether that allows you to pay for them or not is yet to be seen. I don't know if that's something that's a capability.
0:33:56 Samidip Basu: Yeah, this is all new. We're trying to figure this out. Yes? Yes sir?
0:33:58 Audience: That's a… Bing announced that crawlers…, some things that's relevant to.
0:34:10 Samidip Basu: Yeah, yeah, so do…
0:34:11 Ed Charbeneau: You wanna iterate it so we can…
0:34:13 Samidip Basu: Yeah, so the audience here made a comment that Microsoft announced that Bing crawlers would actually list out these progress web apps in-store, or in some other way as you search. So to answer your initial question, "Is mobile app, mobile web still a legit strategy?" Yes, very much so, and it depends on the type of accurate building, and the audience, and again, what type of codebase you wanna keep maintaining.
0:34:38 Nick Landry: Okay, we got a question. How will Project Rome affect all of this?
0:34:43 Samidip Basu: What is Project Rome, to get…
0:34:44 Nick Landry: What is Project Rome? So first of all, I'm not the authority of Project Rome, but at least, from what I can tell you: So first of all, to understand Project Rome you have to understand the Microsoft Graph. The Microsoft Graph is basically the… Like the sum total of everything that you know about a user. So of course, at first, it starts more as a corporate graph where you know about who the user is, who they work for, the contact info. But then, it could also be the documents that they're storing in OneDrive Business or SharePoint, what email messages they've exchanged; so it's basically all sorts of information. Everything is secured, of course, to the sense that you don't have access to stuff that you're not supposed to see. So Project Rome is now being able to have applications, any kind of application; it could be web-based, it could be mobile, they could be desktop-based that participate as part of the Microsoft Graph so that you could start an experience on one device, and finish it on another device very easily.
0:35:56 Nick Landry: So at the moment that you are launching an application on one, doing some work; then later, when you switch to another device, that app could, if it's Rome-, Graph-enabled, it could then tell you like, "Hey, this is where you were over there. Do you wanna continue working where… " Basically, on your work, on your document, or your email, or your process, or whatever you were doing with someone. So it's about carrying people from device-to-device and preserving the experience, instead of forcing people to think in terms of form factors and device families, and having to finish everything to go into one place or another. It requires developer participation, of course. The developers will have to then use Project Rome to connect, basically, to the Microsoft Graph, and understand the experience. And the SDK gonna help you to create that experience for users.
0:36:48 Samidip Basu: And then, that's the point Mike was making. And I think something like this is continuity of user experience. And it almost has to be cross-platform because throughout the day, I'm on Windows, I'm on my phone, I'm on my Xbox, and then, you want that experience to follow you around.
0:37:03 Nick Landry: Right. And Project Rome is not just about Windows.
0:37:05 Samidip Basu: Yup.
0:37:06 Nick Landry: It's about if you're on iOS, it's about if you're on Android, if you're on the web, on anything.
0:37:11 Mike Branstein: As a part of my normal day, I'm constantly on three or four different devices, not necessarily my network domain joint computer, but I'm also on my Mac, on my Surface Book. I go over to my phone. I go into customer's computers too, but I still have that same identity that I bring with me. And I think this concept of identity is important to the whole concept of the Graph and Rome, where I've got my corporate domain identity that I'm bringing with me. And it's all about continuity for that experience with you.
0:37:41 Ed Charbeneau: Yeah, I think we didn't quite cover all of the web stuff that I thought we should cover. So I'm gonna bring it back that way a little bit. And I'll make a good segue here 'cause you guys were talking about using devices, using multiple devices throughout the day, using them in different scenarios. And when you're using those different devices, sometimes, you might be using an app that's native, and then, you might go to your desktop and sit down and use something that is a web-based application, but they're both the same application, as a whole. So you have these companion apps. Office does this very well. Microsoft Office has very good online tools. You can go right in and edit a Word document or Excel document right in the web if you don't have the capability to install that on your device. So with mobile-responsive web, it doesn't mean that any one of these technologies is dead. Mobile web isn't dead. Responsive web apps aren't dead. PWAs, maybe part of the future. But you can have this ecosystem of companion apps, and the larger application may be a web app. But something like a expense reporting application, you may need the ability to use your camera and take the application with you. And take photos of your receipts, and have that uploading into the larger web application that you use at your desktop.
0:39:20 Nick Landry: I think towards that point, Ed, you'll see all of the platforms are starting to move towards the availability of having. You have your web portal for the app, or a UWP app, for example, and then, using and sharing a lot of that code across over to the mobile side. And there's different strategies and different ways that they're doing that, but you wanna preserve that experience. And also, from a development side, I don't wanna write an app for my mobile, and then, have to go worry about that desktop or web app that I'm gonna deploy that's more fully-functioned to the web. I actually only have to do that maybe one-and-a-half times. It's never gonna be equal one. I'm gonna do it once everywhere, necessarily, 'cause I'm gonna have a little bit different experience on both sides because of form factors. But you'll see that all of the vendors are pushing towards that to make it easier for us to have a single way to do, and match across all the platforms.
0:40:13 Ed Charbeneau: Yeah, and I think it's an important point to make while we're all up here on a panel like this that it's not a versus so much. We're not trying to kill off each other. It's not a battle. There's a lot of cooperation between these different platforms. And sometimes, you need to build different strategies to cover all your bases. So let's talk a little bit more about IoT devices and non-traditional mobile… Not the small screens. Let's talk a little bit about IoT mixed reality, stuff like that.
0:40:50 Nick Landry: Actually, the first thing I would talk about is what I was just covering in a session before this. Who attended my Bot Framework session just before this one? Because our tagline at Microsoft, anyways, is that bots are basically the new apps. And the reason for using that term is that when you interact with software you're using, either a computer, or a phone, a touchscreen, a mouse, some voice maybe, but it's mostly touchscreen, mouse, and keyboard that you're using. And yet, when you interact with other human beings, how do you do it? You talk to them. Maybe you chat with them using plain natural language, whichever language you speak. Maybe those chat channels can be various. It could be over Facebook, it could be over Skype, over WhatsApp, SMS messages. We send email to people. So it's interesting that how we're trying to make software smarter and smarter, but yet, our way of interacting with software is very different from the way that we interact with other humans.
0:41:56 Nick Landry: And the premise of bots is that by turning our software into these intelligent services, we can now chat with that software the same way that we chat with humans. And better yet, we can even have a three-way conversation between two humans and maybe a bot. And again, just like we're not trying to say that one thing is gonna completely trump the other and get rid of everything else, bots are not gonna eliminate the need for apps, of course. But just like I can go into my Uber app and say, "I wanna call an Uber, enter my location," and then, see a map where it's coming from, and then, call the car. I could very easily also just pull up in the middle of a chat and say "@Uberbot, I want a car," and connects the location services, knows where I am, and then, shows, "Well, we have this car X minute away. The fare would be about this much. Do you want the car?" "Yes." Or, "Where are you going?" for example. So, "I wanna go there." "Is this the address where you're gonna go?" It could even show a map and a chat conversation. And then, "You wanna order the car?" You can either type yes or no, or bots could even show you, sometimes, buttons yes or no. It doesn't have to be all text-based.
0:43:13 Nick Landry: So if you have someone maybe that they are a different device, or they don't have the Uber app installed right now, they could easily just connect to a bot depending on channels. Or maybe they have someone who's coming over, and I will say, "Let me call a car," and then, they could immediately do it in chat while they're chatting with the other person. And then, the other person will know what the ETA is for Uber before they have to show up so they can hop on. So it's all these little scenarios that we'll start integrating into our day-to-day lives with other human beings while still using software, and that's where bots are pretty cool.
0:43:48 Samidip Basu: So I think to his point, if you look at IoT and HoloLens, and all of these other devices, is this type of development… We are still tied to native platforms. We are not talking cross-platform yet on these devices.
0:44:04 Nick Landry: Yes and no.
0:44:05 Samidip Basu: Yes and no? [chuckle]
0:44:06 Nick Landry: So yes and no. First of all, you have to understand IoT is Internet of Things. So IoT is typically gonna be machine-to-machine. The human comes into play whenever you want to know what's going on with your IoT devices, the data that is coming in, what's the status. But typically, a good IoT setup is gonna be autonomous, it can run on its own. It's gonna have intelligence by analyzing sensors out there. And then, if something needs to be turned off, or activated, or deactivated depending on the status observed from the sensors, then it has all the intelligence to do so. So it's called machine-to-machine, or pervasive computing, or embedded computing; there's a lot of terms for it. So the key is that we're talking about mobile development, and these devices are mobile devices, but they're mobile devices that talk to each other. And can you cross-platform? Again, it depends on the platform you're using. IoT, first of all… If you think mobile is diverse with platforms, IoT is the explosion of hardware from devices that have megabytes to gigabytes of memory, to devices that only have kilobytes of memory.
0:45:14 Nick Landry: When you're in a kilobytes memory environment, you can't start bringing in these extra tools that give you the platform adaptation layer so that you can re-use code from another platform, but it depends what you're running. So for example, if we look at a very popular device in the IoT world like the Raspberry Pi, then natively, the Raspberry Pi will either run one or more flavors of Linux; we also run Windows 10 IoT core on it. And the programming model for Windows 10 IoT core is UWP, the same thing that you can use as part of a XAML project when you're building C# with iOS and Android. So yeah, we can actually participate this way. But if I'm using Arduino, now, I'm just writing low-level C++ code. C++, by definition, is cross-platform, but the APIs you're calling are gonna be very different. But maybe there's a library that you wanna call from the application that would be shared. So that's why it's yes and no because a lot of these tools will have their own native platforms. But if you wanna share code with IoT, then yeah, it's possible, you can share a C# code. Node is also very popular in IoT circles where usually, it might have a bunch of sensors. And you're gonna have maybe a smarter brain running again on something like an Intel Edison or Raspberry Pi running a Node application, and instantly taking control of weaker microcontrollers. So I would say again C++, C#, and Node are the probably…
0:46:37 Samidip Basu: Yeah, that's what I was getting to 'cause with JavaScript, you can do lots of these IoT things, lots of frameworks; not just Node.js where you can do native JavaScript on these devices.
0:46:47 Mike Branstein: I think we saw in a session the other day where… I think it's all things, that platform being installed, and it's running native JavaScript, or running JavaScript directly on a small microcontroller. You have other frameworks like Johnyfive framework that could interact with JavaScript on a microcontroller as well.
0:47:09 Ed Charbeneau: To just add somemore confusion to the mix, you also have… A lot of the things that you guys are mentioning are ultra modern ways of doing IoT. You also see ancient machinery out there that's maybe 50 years old even. They have programmable logic controllers on them. And manufacturers of these things update them by just jamming a board in there that's got wireless capabilities, and also, that's an IoT device.
0:47:37 Mike Branstein: Well, what's different? Yes, that's been around forever. What we're seeing now is this is more accessible to the average developer. Absolutely, yeah. And aside from that, I look at how are you gonna be building and deploying and keeping these devices up-to-date with security? Security, especially in IoT, is an incredible concern. "Do I really wanna connect a light bulb where that company is gonna go out of business, potentially in two or three years, to my home network, to my business network? I better make sure that I can update that platform, I can keep it walled off from all the other parts of my network." These are real concerns, and as IoT begins to explode…
0:48:18 Ed Charbeneau: The tack vectors do as well.
0:48:20 Mike Branstein: Yeah.
0:48:22 Nick Landry: Things are the new apps. [chuckle] So lots of the new apps. There's a lot of apps out there. [chuckle]
0:48:27 Ed Charbeneau: So we have the IoT machine-to-machine mobile. We also have where we've got our devices, and we throw them in a piece of cardboard and stick 'em on our face. Let's talk a little bit about that experience.
0:48:42 Nick Landry: So yeah, VR, mixed reality. So again, this is where it's all platform dependent. On the Google side of things, they're very Android-centric. So again, you're gonna be able to reuse any of the same tools for Android to create those experiences from native Java with Android Studio, to using Xamarin. Or of course, in the case of VR and mixed reality, since it's… Usually, you're dealing with a 3D environment. This where people are gonna start looking at 3D engines to actually do this. And that's where Unity comes into play. And Unity is probably the world's most popular game… I would say AAA-class game engine, and certainly, one of the most powerful as well. And what's very interesting is that Unity is cross-platform. It supports virtually everything from WebGL to PC like Linux desktop, Mac, iOS, Android, Windows Store, Tizen, and PS4, PS Vita, Xbox, Nintendo, and everything. And the way they do this is via Mono. And because the Mono framework, again, lets you run C# code everywhere. But yeah, you use a few techniques also called IL to C++ where they convert the IL code directly to C++ so they can natively compile for the platform, but it's all routed originally in Mono. So in a way, the way I explained it is Unity is to games what Xamarin is to apps because it's all based on the Mono framework, or both of them are.
0:50:15 Samidip Basu: I find it interesting that these alternatives to.NET are almost as old as.NET itself. Mono has been around since 2003/2002.
0:50:22 Nick Landry: Yeah.
0:50:23 Samidip Basu: So that's when Nigrel and those guys started the process of taking.NET compiled code onto these other platforms, and now, you see all of these things light up because of Mono.
0:50:32 Nick Landry: .NET is awesome! And F# is the best! [chuckle] So I agree.
0:50:36 Ed Charbeneau: No bias there at all.
0:50:37 Samidip Basu: No bias.
0:50:38 Nick Landry: I've tried the other stuff and… [chuckle]
0:50:40 Ed Charbeneau: Real quick, you said AR and MR…
0:50:45 Nick Landry: VR and MR.
0:50:46 Ed Charbeneau: Oh sorry, VR and MR. For those listening who may have not heard these terms before, let's kinda… Yeah.
0:50:52 Nick Landry: Okay, so you've got the three main umbrella terms. You have virtual reality, I think is the one that most people are familiar with. Virtual reality is all about being immersive. You are tricking your senses into believing that you are in a world that doesn't exist. So it requires a headset where you completely mask your view, and you could see a stereoscopic display that will basically create a 3D world for you. You will typically wear headphones that completely isolate the sounds around you, so it's very immersive.
0:51:19 Samidip Basu: So the one that makes you puke.
0:51:20 Nick Landry: That's VR. So in all fairness, because you're tricking your senses, especially when it comes to a spatial orientation in your inner ear and equilibrium, if the motions of your body are not matching your field of vision, so that means if you move your head, and there's the slightest delay in between the motion of your head and the display being updated, then this is where you can induce motion sickness. And it's said that the barrier, to at least be below the threshold of motion sickness, is eight milliseconds. So you have to be able to track the user and move around. And even in eight milliseconds, it can be considered a threshold. So imagine being able to track a user in space, and then, being able to transform that into a new position and render the environment in eight milliseconds; it's pretty high. So the moment you go to 10, 20, 50 milliseconds, then people will get really sick.
0:52:18 Samidip Basu: Yeah, and that's why you have the Oculus Rift rendering 90 FPS per eye, and you need these huge gigs to actually run the thing.
0:52:25 Nick Landry: Exactly because it takes a lot of power to do so, it needs to be tethered. And yeah, so I would say Oculus Rift and HTC VIVE, basal SteamVR, probably still the most popular platform, same thing with Google Cardboard, and Daydream as well. And then of course now, on the… Well, I'll get back to that one. On the other side of the spectrum, we have augmented reality, which is purely you could see the world around you, but we are simply adding an overlay of information on top of the world. So think the Iron Man suit, where you can see data. Think jet fighters, which is the original heads up display, where they could see a projection on the glass in front of them to see additional data. Pokemon Go where you're just lifting your phone and looking at the camera to find Pokemons. Or those AR mapping/directional apps where you can see there's a McDonald's there on your camera, or there's a Starbucks over there at this distance and everything, simply using your compass and your accelerometer and your GPS.
0:53:25 Nick Landry: And then, we have, in the middle, we have mixed reality. Mixed reality is where you're blending the two. You're blending the real world, you're blending the virtual world, but instead of just putting a layer of information, you're truly creating a 3D hologram. And that hologram can be in front of a physical object, or it could be behind a physical object because you have spatial perception that comes into play where it knows that there's a table here, that there's a floor, that there's a wall. And then, if I put a hologram behind the table, even though it's always oriented on top because you've got the display on your face, it knows to occlude the hologram based on the spatial mesh that is detected by this table, and all of this has to be done in real time. So anybody attend my HoloLens talk yesterday? Few people, yes. I demoed all of this, this is all real. It's been shipping for a year. And we call it mixed reality. By the way, this is not a term that we coined; it's a term we adopted because it goes so far beyond what augmented reality does because it is truly blending the real world and this virtual world together. And in the case of HoloLens or Windows mixed reality, really, we actually are using UWP for this. So again, you can share your code with iOS and with Android, as well.
0:54:43 Ed Charbeneau: So we're getting close to our time. Let's give a quick shoutout to some of the tools that we talked about today. We talked about Xamarin. You can find that at xamarin.com.
0:54:54 Samidip Basu: Is that what it's called? Is that what it's called?
0:54:55 Nick Landry: It's baked in Visual Studio now. So when you install Visual Studio 2017, you can choose your workloads. Cross-platform mobile development with C# is part of that. So by installing this, it will bring in all the dependencies.
0:55:06 Samidip Basu: And I'm on a Mac, and you get Visual Studio for Mac now, which is beautiful, Visual Studio for Mac. Yes, the same. Almost the same, exact, that experience. And the tools of the ecosystem have gotten pretty rich. There are plugins, there are competent stores, and there are sharp UI controls. So again, don't try to reinvent the wheel. If your app needs professional look and feel, look at some of the UI controls that you can get out-of-the-box. We make some. So that's Xamarin, that's your staying in the IDE of your choice, on the platform of your choice, and you're writing a single codebase.
0:55:34 Ed Charbeneau: And then, we have NativeScripts, nativescript.org.
0:55:35 Samidip Basu: Yup. So I'll let Mike speak to that. What are some of the tools?
0:55:39 Mike Branstein: Some of the tools I would look at across both Mac and Windows are… I use Visual Studio Code. VS Code is an awesome editor. It is an absolutely awesome editor.
0:55:51 Nick Landry: Who uses VS Code here? Just curious.
0:55:53 Ed Charbeneau: A lot of hands.
0:55:53 Nick Landry: Yeah. By the way, VS Code, free, cross-platform, and open source.
0:56:00 Mike Branstein: So I'm using that across both my Mac and on the Windows side, and using Node.js underneath with NativeScript to run the development for that, with the NativeScript libraries.
0:56:10 Ed Charbeneau: You can go to nativescript.org, click "Getting started."
0:56:13 Mike Branstein: Yep, nativescript.org, click "Getting started." You can start off with just plain old JavaScript, if that's what you love. Or if you do Angular development, then you could start off and write with Angular and TypeScript, and write apps using that one.
0:56:25 Ed Charbeneau: And then, we talked about Unity. Go to unity.com.
0:56:29 Nick Landry: Well, unity.com is the main Unity site. It's technically unity3d.com, and then, from there, you can get the tools. There's a whole learning section. And it's a tool that's easy to get started with, but it can take a lifetime to master because it is a professional-grade game engine that is used even by AAA studios.
0:56:47 Ed Charbeneau: And what about UWP?
0:56:49 Nick Landry: UWP, just go to…
0:56:50 Samidip Basu: Dev.windows.com, then…
0:56:52 Nick Landry: Yup, dev.windows.com, and then, from there, you'll see all the different areas that are supported from IoT, and mixed reality, and mobile, and traditional Windows desktop. So it's all there.
0:57:04 Ed Charbeneau: And some of our teams have worked very closely together on that with Telerik UI from the VP, which is free and open source. Go ahead, Sam.
0:57:12 Samidip Basu: Yeah, I was just gonna bring up the open source aspect of this. A lot of the tools of our trade are now open source, which is fantastic, it's a very nice collaborative environment. Xamarin open sourced all of their SDKs in the entire framework last year. That's opened up xamarin.com. So if you need to build from source, and if you want to contribute back, they're accepting upwards of 700 code requests in a year. And everybody's trying to chime in. On the UWP side of things, there are lots of tools. There's the UWP Community Toolkit, which is a community collaboration with Microsoft. We have a UI for UWP suite, which is a UI Suite of about two dozen controls that's all open source.
0:57:52 Ed Charbeneau: Windows Template Studio.
0:57:53 Samidip Basu: Yep, it's all, again, integrated with your UI. So again, most of these tools, as I'm in NativeScript, is entirely open source. And all the plugins and everything is open source. So again, as you are working with these things, know that you have choice of your IDE, of the tools that you wanna use. And much of the tooling and UI is also open sourced. And contribute back 'cause that's how we all give back our little two cents into the ecosystem.
0:58:18 Ed Charbeneau: I'm gonna go ahead and wrap things up. I wanna thank everybody on the panel for being here today. Thank you guys for joining us. Hopefully, we provided a great discussion for everyone. Again, we'll go down the list here. We have Sam Basu.
0:58:31 Samidip Basu: Yes. So again, parting thoughts are look around. You have lots of choices. When you wanna do mobile, again, to Mike's point, ask why you're doing mobile, and what is it that you're trying to do. What's the kind of codebase you wanna maintain? What's the kind of code sharing you want to achieve? And then, look around the tools. The tools and ecosystem have come a long, long way, so choose something that you're really fond of, and you want to maintain, and it suits your needs.
0:58:52 Ed Charbeneau: Nick, closing thoughts?
0:58:54 Nick Landry: Always learn, guys. That's the key, always learn. You're at the right place to do this, of course, by coming to our conference, but definitely keep learning. If you're a web developer, go into mobile. If you're already into mobile, go into VR and MR. Learn bots, learn IoT. Seriously, go always learn. Developers are kings now. If you don't like what you do, it's on you.
0:59:16 Ed Charbeneau: Nick? Mike, sorry.
0:59:19 Mike Branstein: That's okay.
0:59:20 Ed Charbeneau: Nick is Mike's brother's name, so I can be at fault there.
0:59:24 Mike Branstein: Yeah, I would say stick with what you know while you're learning. So as you're going into mobile, still explore, but use what you know. If you do web stuff, go a web route. If you do csharp.net, Xamarin's an awesome choice, go Xamarin.
0:59:42 Samidip Basu: Yeah, and then, thank you guys so much for joining us.
0:59:44 Ed Charbeneau: Thank you! Thank you everybody.
0:59:46 Samidip Basu: Thank you!


text:
* Full colour advertising
* Competitive rates on a No Sale No Fee basis
* Prominent window and showroom displays
* Accompanied viewing with regular honest feedback
* Eye catching distinctive For Sale boards
* External & internal colour photographs on the sales particulars
* Floor plans
* Dedicated sales co-ordinator providing excellent after sales service
ensuring the smooth progression of your sale through to completion
* Computerised mailing system matching your property to our extensive list of potential purchasers
* Advertising on our website at www.crowhurst-gale.co.uk giving 24 hours a day access to your property details
* No lengthy sole agency agreement
* Independant mortgage advice available
Telephone us on 01788 522266 for a free, no obligation market appraisal of your property.
Disclaimer: The information about this Agent is provided by the Agent themselves as an advertisement for their agency services. Rightmove is not endorsing this Agent and makes no warranty as to the accuracy or completeness of the advertisement or any linked or associated information, and Rightmove does not check or verify the accuracy of the content. The information is generated, provided and maintained by Crowhurst Gale Estate Agents, Rugby. Please contact the Agent directly to obtain further information about their property services.
31 The Green, Bilton, Rugby, CV22 7LZ

subset: commoncrawl


text:
Outback Comet Charcoal Kettle BBQ - Red
Please note that this calculator is for illustrative purposes only. If you require a more accurate quote please get in touch. Credit is subject to status, UK residents aged 18+ only.
Finance available on orders over £500.
A new design for 2017, the Outback Kettle's deep bowl is the perfect shape to provide that full, smokey chargrilled flavour. Simply lift the porcelain-enamelled Meteor Red lid and fire-up the charcoal beneath the 57cm-diameter cooking area - enough to cater for a gathering of family and friends . With a chromed heat indicator and cooking grill, ash collector, adjustable air vents and hub-capped wheels, the kettle makes an attractive addition to any patio or garden.
Cooking area 570mm Diameter
Adjustable air vents for heat control
Chrome Grill
Porcelain-enamelled hood
Porcelain-enamelled bowl
Heat Indicator
Wire base shelf
Large Capacity ash collector


text:
On the other hand, websites that have positive content the process of increasing traffic to a website by increasing its visibility in search engine results. Texts: The more quality and SEO organized content you an increase in people turning towards affiliate marketing. Maintain and Update Blogs The objective here is to convince people that your company is an search engine marketing, to raise awareness about the brand. In addition to the vast viewership of outstanding potential clients, the become a member, you can post your ads as per costs and rules set by Google.
Relevant content will improve the flow of customers to your site, after which they identify a set of words which are best suited for that website. ✏ While designing a website, one needs to have a clear the size of that website, thus making it a strong contender for higher rankings. An example of this trend in internet network marketing your target market and its preferences in a better manner. There was a time when search engines had not honed to be present when the customer really needs the service that you provide.
It is also advisable to find out the authenticity of the it or not, it is here to stay―I am talking about Search Engine Optimization. If you want to display the actual size of a piece to be happy as there are innumerable ways to keep oneself busy and at the same time, earn money. This can be done by identifying individuals with high Social Networking Potential SNP , information you think your readers could use, link to that page. There are plethora of opportunities offered by cyberspace and Google to all websites to care of all negative comments before they begin to tarnish your online reputation.


text:
VIDEO: Fire at the Chicago Firehouse Restaurant viewed from a high-rise nearby.
Chicago police and firefighters responded about 10:21 a.m. to a report of a fire at the Chicago Firehouse Restaurant, 1401 South Michigan Avenue. Firefighters on arrival reported smoke showing and elevated the alarm to a Still and Box and then a 2-11. By 11:50 a.m. the roof of the former firehouse had fallen into the second floor.
The 2-11 Alarm fire was struck out at 12:02 p.m.
The building was the former firehouse for Engine 104, and was built with limestone and yellow brick in 1905. Before the building was remodeled to the Firehouse Restaurant, the building was used for scenes in the 1991 movie "Backdraft." The upper floor of the building served as the movie's Firehouse 17 second-story dorm and locker room interior.
The Chicago Firehouse Restaurant opened in 2000.
1401 S Michigan now a 2-11 alarm. No injuries at this time. Will update ASAP. pic.twitter.com/ncnzTLCyEf
— Chicago Fire Media (@CFDMedia) December 10, 2014
— Chicago Fire Media (@CFDMedia) December 10, 2014
CFD continue on scene of 2-11 alarm. CFD continuing with exterior attack protecting exposure to south. pic.twitter.com/H3x5Mx02lF
— Chicago Fire Media (@CFDMedia) December 10, 2014
1401 S Michigan now a 2-11 alarm. No injuries at this time. Will update ASAP. pic.twitter.com/ncnzTLCyEf
— Chicago Fire Media (@CFDMedia) December 10, 2014
IMPORTANT NOTE: All persons referred to as subjects, defendants, offenders or suspects, etc. are presumed to be innocent unless and until proven guilty beyond a reasonable doubt in a court of law.
SEARCH BOX PRODUCES RESULTS FOR The Cardinal -- Arlingtoncardinal.com ...
Where background Wikipedia info/photos are used, original work is modified and released under CC-BY-SA.
::: Health, wellness and fitness gifts! CoolFitnessGifts.com ::: Cubs, Sox caps at ChicagoFanfare.com :::
ARLINGTON HEIGHTS BREAKING NEWS --The Cardinal -- Arlingtoncardinal.com is a breaking news blog with Arlington Heights & Chicagoland emphasis. Early breaking reports may prove to be inaccurate after follow-up investigation, which may or may not be updated in The Cardinal -- Arlingtoncardinal.com. For in-depth coverage, please also check the following links for network television, cable news networks and Chicago local media coverage ...
Daily Herald | Daily Herald -- Arlington Heights | YouTube.com/DailyHeraldClips
Today's headline videos: FOXNews Video | YouTube.com/FoxNews | Associated Press | The Cardinal
|RSS Help ...
All Headlines
crimeblog | fireblog
|« EARLIER | SEARCH ARTICLES BY DATE -- Arlingtoncardinal.com/searchdate | LATER »


text:
Two sisters' reviews of Young Adult and Middle Grade books, inspired by their lovely library.
Top Ten Tuesday is an original feature/weekly meme created at The Broke and the Bookish blog. This week's theme is Books You Read Because of a Recommendation, which gives me a fantastic opportunity to tell some book experience stories! Some amazing people in my life have recommended some truly life-changing books to me, that mean so much more because of the people and way they recommended their books to me. The list:
1.) The Thirteenth Tale by Diane Setterfield
The Story: One of my former very close friends recommended this book to me. I can't remember exactly how she gave it to me, but I ended up with a tiny sticky note with "Book you would love: The Thirteenth Tale by Diane Setterfield" written on it hanging above my desk for at least six months. Eventually I found myself in an adorable used bookstore in Scotland, where I found a copy and bought it (mostly because it was such a cute store I had to buy something). I read it, loved it, and have since won the Vermont State Forensics Tournament by reading a passage from this book. So truly life-changing. Thanks Anna!
2.) Romancing the Dark in the City of Light by Ann Jacobus
The Story: One day, I was sitting in my high school library (not an unusual event), and my favorite librarian walked up to me and handed me this book. He'd been to a book talk, and got me a copy–signed with my name on it! It's completely not my type of book, which he knew, but I gave it a try and completely loved it! Now I'd go ahead and recommend it to future readers: anyone who liked Anna and the French Kiss and need another romance story in Paris need to give this book a shot!
3.) Unusual Uses for Olive Oil by Alexander McCall Smith
The Story: This past summer I traveled on a National Geographic Lindblad cruise ship around Europe (my father works for them, and I got to come along!). They had a small library, which I was allowed to be in charge of, completely re-organize, and set out book recommendations for fellow passengers. While alphabetizing the small fiction book section one day I discovered a thin, dark green volume with the strangest title I'd ever seen: Unusual Uses for Olive Oil. So I took it to my cabin and read it! Certainly an unusual book, but very funny and quite a unique find! My favorite part: the two whole pages in which the main character muses on whether someone falling out a window still counts as a "defenestration" (I say no).
4.) Harry Potter and the Cursed Child by J.K. Rowling
The Story: On the same ship, an extremely friendly passenger lent me their copy of Harry Potter and the Cursed Child they had just finished. They weren't the one who recommended the book to me, but they made it possible for me to read it six whole weeks before I got home to read the copy my sister bought.
5.) Dark Money: The Hidden History of the Billionaires Behind the Rise of the Radical Right by Jane Mayer
The Story: A friendly boy on my school bus who I liked to talk about politics with recommended this book to me. I listened to it while traveling on my own in Amsterdam at the beginning of the summer, then tried to forget everything I'd learned so I wouldn't become completely depressed.
6.) The Apothecary by Maile Maloy
The Story: My darling sister Kate made me read this book. And I'm so glad I did! Thanks Kate!
7.) Under the Banner of Heaven: A Story of Violent Faith by Jon Krakauer
The Story: My AP American Government teacher recommended this book in class one day. She's such an amazing, inspiring teacher, I went and got the audiobook that very day! It did not disappoint.
8.) One Writer's Beginnings by Eudora Welty
The Story: One of my other favorite teachers recommended this book to me. Or rather, he pulled me aside after class, and handed this book to me without explanation. I had no idea what he expected from me, so I just went home and read it in a few days, and then gave it back. I asked him if he wanted me to write a paper or talk to him about the book, and he said no, he just wanted me to read the book so I wouldn't get rusty. I'm still not entirely sure what he meant by that, but I've since bought and cherished this book.
9.) Poison Study by Maria V. Snyder
The Story: A good friend I made in middle school and kept all these years lent me this book about eight years ago. She'd loved it, and none of the libraries around us had it, so I got to borrow her well-loved copy. Since then I've recommended it to other friends, read the rest of the series, and read the new books Maria V. Snyder created as a second series. This book was my gateway from middle school into YA fantasy, and I've re-read it many times since.
10.) People of the Book by Geraldine Brooks
The Story: The best school-assigned book I've ever read. Thanks to my wonderful AP English teacher for this summer homework!
I've been missing in action for a while on this blog for many months, busy with high school graduation and a summer of travel, but I'm taking a gap semester, so I have a few months to write some final posts here! More to come… Gwen.
So glad to see a post! I want to hear all about your travels, especially that gig as a cruise ship librarian.
Poison Study was on my list this week too, though I did a slightly different twist of the topic.
My TTT: https://jjbookblog.wordpress.com/2016/10/11/top-ten-tuesday-78/


text:
Falling spider causes Katoomba car crash | Police
A spider caused a 53-year-old Wentworth Falls man to crash into a cement safety barrier on Wednesday, May 16.
Blue Mountains Police report the spider suddenly fell in the man's lap after he turned left off the Great Western Highway onto Woodlands Road at Katoomba at about 3.40pm.
The airbags deployed and he was taken to hospital with minor injuries and shock.
Counterfeit notes
Chifley police have warned that counterfeit $50 and $100 notes have been circulating in the region.
Businesses in Bathurst had been seeing a number of the notes passed. Those generally targeted were fast food outlets, service stations and convenience stores.
Police urged business owners to educate their staff in how to identify fraudulent notes. If fraud is suspected, police urged businesses to contact police or Crime Stoppers on 1800 333 000.


text:
The Reasons Why You Need To Hire A Professional Appraiser For Your Home
An evaluation is very vital before selling or buying a home. It is a job that is done by the professionals to provide you with the value of your home.It should be done by unbiased licensed person. The appraisals ensures that the owner, the buyer and the lending institutions remain doubtful about the value of the home.in most residential, you are allowed to choose the agent and your lender, but you cannot choose the appraiser. In most cases, the creditor is allowed to decide the appraiser so that the seller and the buyer can have a fairground to do their business. You can also be able to hire the appraisers from their organization. Discussed below are the important reasons why you need to hire appraisal practitioners for your home.
Selling your home
You should hire professional
appraisal services in Baltimore
when you want to vend your home because you will get to have the list of the price of your home. It is one of the activities that the home selling offers when you hire them, but it is very vital to hire professionals who have mastered the appraisals especially if the property has some unique attributes.
Buying a home
If you make an offer to purchase a home, your lender will require the appraisals to be done on the home. The creditor will be able to know that the amount you are asking for is worth the property.it is also important because you will have no complaints about the money you will have to pay the lender because the lender will give you the money on the appraisals.
Refurbishing your home
If you had done the assessments before and your value of your property has improved, you are advised to do appraisals of the current value of your home because the lender will lend you the money of the current value of your home. The lender will always want to know if your home will increase the value after refurbishing.
Purchase of insurance
Without the appraisal of your home, you will not have the ability to insure your home.
Decreases the taxes of your property
You may realize that the taxes you have been paying for your property is actually higher than what you should be paying. You will be required to hire professional appraisers who will give the real value of your home.
Deciding your future developments
The evaluator will also get to advise you about the nature of the systems of your home.You will get to know the areas to prioritize your upgrading, h
ave your Baltimore home appraised


text:
The crew over at Tom's Hardware spent some quality time with the Corsair T1 Race gaming chair.
Corsair announced its new series of T1 gaming chairs earlier this week with big images, big platitudes, and loud colors. Resemblances to sports and production rally car seats are purely intentional, as the chair even has holes in the backrest for the shoulder straps of your five-point harness to match its T1 Race name. Unlike the seats that came with your car, however, this one arrived in a box (weighing in at 57 pounds) and required assembly.


text: Mission, Vision & Values Our Mission We are committed to improving the life chances of all children. Where we have the capacity to make a difference we are morally bound to do so. Our Vision Our Academy ensures that all children build memories, thrive in life, and change the world. Our Values Our values are the basis upon which we develop all our work at La Fontaine Academy. They are the following: Excellence Respect Collaboration Responsibility Creativity We expect our staff and children to constantly live out those values, being able to develop a sense of accountability and mutual responsibility across the school. Our Motto 'Always aiming higher, together' STEP Values We also recognise our STEP values, which are shared across our academy trust. We teach children that these are our family values. They are: Passion: Passionate about learning Urgency: We recognise the importance of every moment Positivity: We spread positivity to all around us Aspiration: We dare to be great Commitment: We are committed to improving and progressing Our Aims La Fontaine Academy is an inclusive, non-denominational, state-funded primary school teaching children aged 4 to 11 in English and, for a few hours a week, in French. The school opened in Bromley in September 2014. Our school offers a unique service to parents and communities in Bromley which are underpinned by our beliefs in inclusiveness and academic excellence and the real value to children's academic potential and life chances that arise from the learning of another language. All children are welcome at our school and we strive for a diverse intake, reflecting our local community. Our school: delivers the English National Curriculum; focuses on maintaining high standards to secure outstanding assessment results linked to the English National Curriculum; focuses on academic excellence in English, mathematics, science, and French. We measure our success against national standards; provides pupils with an excellent preparation for secondary education; develops our pupils' extraordinary cultural capital through a rich and broad curriculum and extensive community engagement. We understand education to include a deep understanding and appreciation of both British and world cultures as well as of the wide diversity of cultures and customs that make up contemporary life in Britain and beyond; promotes tolerance and cultural exchange, guiding children to become responsible citizens in later life; helps our children become rounded, happy and confident individuals and achieve their true academic potential in a friendly and disciplined school.


text:
|Avengers >> View Post
Subj: Re: Avengers #679: Nothing to see here. And yet...
Posted: Thu Feb 08, 2018 at 08:51:10 am EST (Viewed 156 times)
Reply Subj: Avengers #679: Nothing to see here. And yet...
Posted: Wed Feb 07, 2018 at 12:52:28 pm EST (Viewed 264 times)
Quote:The Challenger's origin is fascinating. Kind of guessed right about that, last post . https://s14.postimg.org/3wujron2p/CHALLENGER.jpg The story is very safe skirting around cameoing the full Elders line up and the details of the "Retconned Incursion". Kind of surprising how Marvel is still perpetuating the gimmick detail of each Elder as the LAST SURVIVOR of their race. That's a pretty cold final bet to end your brother's existence to gain "membership". Nitpick or dangler that Carina http://www.marvunapp.com/Appendix/carinaav.htm was the daughter of The Collector which technically arguably should've negated his claim to Elder ranking?
I thought they meant Challenger was Grandmaster's brother in a we're best friends and call ourselves brothers way not in a literal we have the same biological parents way. I don't even think they're the same species...Challenger is grey and Grandmaster is blue. I don't think Grandmaster had to get rid of Challenger to become accepted as an Elder...they were both elders (from different races IMO). Grandmaster just wanted the name Grandmaster. Really petty.
I don't see what Challenger is so upset about. Sure he spent eternity in a timeless limbo but he agreed to that when he played the game. Sore loser.
Posted with Mozilla Firefox 58.0 on Windows 7
|Alvaro's Comicboards powered by On Topic™ © 2003-2018 Powermad Software


text:
By Oliver Wendell Holmes (1809-1894)
Illustrations by Howard Pyle (1853-1911)
Have you heard of the wonderful one-hoss shay?
That was built in such a logical way,
It ran a hundred years to a day,
And then, of a sudden, it – ah, but stay,
I'll tell you what happened without delay,
Scaring the parson into fits,
Frightening people out of their wits –
Have you ever heard of that, I say?
Seventeen hundred and fifty-five,
George the Second was then alive –
Snuffy old drone from the German hive.
That was the year when Lisbon-town
Saw the earth open and gulp her down,
And Braddock's army was done so brown,
Left without a scalp to its crown.
It was on the terrible Earthquake-day
That the Deacon finished the one-hoss shay.
Now in building of chaises, I tell you what,
There is always somewhere a weakest spot –
In hub, tire, felloe, in spring or thill,
In panel, or crossbar, or floor, or sill,
In screw, bolt, thoroughbrace – lurking still,
Find it somewhere you must and will –
Above or below, or within or without –
And that's the reason, beyond a doubt,
A chaise breaks down, but doesn't wear out.
But the deacon swore (as deacons do)
With an "I dew vum" or an "I tell yeou"
He would build one shay to beat the taown
'N' the keounty 'n' all the kentry raoun'.
It should be so built that it couldn' break down.
"Fur," said the Deacon, "tis mighty plain
That the weakes' place mus' stan; the strain.
'N' the way t' fix it, uz I maintain,
Is only jest t' make that place
Uz strong uz the rest."
So the Deacon inquired of the village folk
Where he could find the strongest oak,
That couldn't be split nor bent nor broke –
That was for spokes and floor and sills.
He sent for lancewood to make the thills.
The crossbars were ash, from the straightest trees,
The panels of white-wood, that cuts like cheese,
But lasts like iron for things like these.
The hubs of logs from the "Settler's ellum" –
Last of its timber – they couldn't sell 'em.
Never an axe had seen their chips,
And the wedges flew from between their lips,
Their blunt ends frizzled like celery-tips.
Step and prop-iron, bolt and screw,
Spring, tire, axle, and linchpin too --
Steel of the finest, bright and blue –
Thoroughbrace bison-skin, thick and wide.
Boot, top, dasher – from tough old hide –
Found in the pit when the tanner died.
That was the way he "put her through."
"There!" said the Deacon, "naow she'll dew!"
Do! I tell you, I rather guess.
She was a wonder, and nothing less!
Colts grew to horses; beards turned gray.
Deacon and deaconess dropped away.
Children and grandchildren – where were they?
But there stood the stout old one-hoss shay,
As fresh as on Lisbon-earthquake-day!
EIGHTEEN HUNDRED – it came and found
The Deacon's masterpiece strong and sound.
Eighteen hundred increased by ten –
"Hahnsum kerridge" they called it then.
Eighteen hundred and twenty came –
Running as usual, much the same.
Thirty and forty at last arrive,
And then come fifty, and FIFTY-FIVE.
Little of all we value here
Wakes on the morn of its hundredth year
Without both feeling and looking queer.
In fact, there's nothing that keeps its youth
So far as I know, but a tree and truth.
(This is a moral that runs at large;
Take it. You 're welcome. No extra charge.)
"A general flavor of mild decay"
FIRST OF NOVEMBER,--the Earthquake-day.
There are traces of age in the one-hoss-shay
A general flavor of mild decay,
But nothing local, as one may say.
There couldn't be -- for the Deacon's art
Had made it so like in every part
That there wasn't a chance for one to start.
For the wheels were just as strong as the thills,
And the floor was just as strong as the sills,
And the panels just as strong as the floor,
And the whippletree neither less nor more,
And the back-crossbar as strong as the fore,
And spring and axle and hub encore,
And yet, as a whole, it is past a doubt
In another hour it will be worn out!
First of November, 'Fifty-five!
This morning the parson takes a drive.
Now, small boys, get out of the way!
Here comes the wonderful one-hoss-shay,
Drawn by a rat-tailed, ewe-necked bay.
"Huddup!" said the parson. - Off went they.
The parson was working his Sunday's text,
Had got to fifthly, and stopped perplexed
At what the--Moses--was coming next.
All at once the horse stood still,
Close by the meet'n'-house on the hill
- First a shiver, and then a thrill,
Then something decidedly like a spill,
And the parson was sitting upon a rock,
At half-past nine by the meet'n'-house clock,
Just the hour of the Earthquake shock!
-- What do you think the parson found,
When he got up and stared around?
The poor old chaise in a heap or mound,
As if it had been to the mill and ground!
You see, of course, if you 're not a dunce,
How it went to pieces all at once,
All at once, and nothing first,
Just as bubbles do when they burst.
End of the wonderful one-hoss-shay.
Logic is logic. That's all I say.
Reading light verse aloud is a great way to entertain (and slyly educate) children. As a boy, my favorite was "The Wonderful One-Hoss Shay". And my Dad used to recite "The Road-Song of the Bander-Log" as he carried me upstairs to bed. At the age of seven, I found "The Mountain Whippoorwill" deliciously wicked with its refrain of "Hell's broke loose. Hell's broke loose. Hell's broke loose in Georgia." And one rainy afternoon I entertained two ten-year-old boys in Harlem's General Grant Housing Project by reading them T. S. Eliot's "McCavity -- The Mystery Cat."
Here's the first verse of "The Road-Song of the Bander-Log" by Rudyard Kipling. In The Jungle Book, it's the song the monkeys sing to themselves, and the verse that my Dad chanted to his monkey (me) as we went upstairs together:
Here we go in a flung festoon,
Half-way up to the jealous moon!
Don't you envy our pranceful bands?
Don't you wish you had extra hands?
Wouldn't you like if your tails were--so--
Curved in the shape of a Cupid's bow?
Now you're angry, but--never mind,
Brother, thy tail hangs down behind!
What was the educational impact of such verse? Well, when it came to music my Dad and I both had imperfect pitch, but my hearing of this glorious light verse gave me perfect pitch in the rhythm and rhyme of the English language. And that's afflicted me for the rest of my life – inept writing in commercial jingles and church hymns has grated my ears for sixty-five years.
And I plan to pass along the same wonderful affliction to my grandchildren by reading them the same verses.
Purpose of this blog is to compile a book for my grandchildren to read in 25 years -- except the light verse. They get to hear the verses while they're growing up.
I welcome your reactions. Please click below on "Post a Comment".


text:
Taken in Ayuthaya, the old capital of Thailand
Hi Emma. Like the shot you've taken, gives off a nice tranquill feel especially with the moon in the back.Nice one. VJ
Very peaceful. The moon is a great addition.Buddha would be proud. :)
really like the quality of light in this image as well as the subject and composition has a peaceful calm about it
this is so nice, gigantic Buddha! lovely perspective.
Take nothing but photographs leave nothing but footprints
Love this
jolie photos j'aime beaucoup…..the frenchy
Hi Emma, It always means a special shot with a moon in it….………great work….
Congratulations!! :))
Lovely image!! . . .
Loading more work by Emma Brown...
10% off
for joining the Redbubble mailing list
Receive exclusive deals and awesome artist news and content right to your inbox.
Free for your convenience.


text:
Sandra Colling
Ms. Sandra Colling joined the Peninsula Funeral Home family in 2017. She is a native of Michigan and a Virginia resident since 2007. Sandra began her career in nursing, then trained into funeral service. She is a 1998 graduate of the Wayne State University School of Mortuary Science in Detroit, Michigan.
Sandy resides in Newport News with her 2 "recycled" dogs, Sissy and Sasha. She enjoys riding motorcycles, reading and traveling the world.


text:
When you visit our office, you'll quickly discover just how motivated and passionate we are about helping our clients with their tax returns! No matter how simple or complex the process may be, we can deliver the benefits you deserve. You are in good hands with our high benchmark for customer satisfaction!
With our friendly and accurate service, you can enjoy the biggest refunds with the smallest liabilities. No matter your tax situation, whether you need us to help your personal or business taxes, we'll always have your best interests in mind!


text:
PRN Occupational Health Nurse - Saline, MI
Basic Summary of Position:
The individual will be involved with the overall administration of an employer's occupational health program to include delivery and management of surveillance testing, injury care and management and ADA/FMLA program consultation. May also provide ergonomic assessments and services; as well as early intervention programs.
Essential Functions:
1. Evaluate and treat all injuries and illnesses in an efficient and professional manner within the scope of practice and consistent with nursing clinical guidelines. Guide and direct all internal and external referrals.
2. Assist with accident investigation programs per established client site workflows as needed to identify root cause analysis of all incidents and near misses.
3. Use critical thinking and experience to conduct a range of risk and health assessments.
4. Provide appropriate case management
• Manage cases to facilitate productivity, assuring appropriate care and return to work.
• May include workers' compensation, short- and long-term disability cases
• Assist in process of FMLA and ADA program application. Includes communication with outside care providers.
• Assess healthcare needs of employees, then implement programs to improve health and facilitate return to work. Work directly with Early Intervention Team to ensure ergonomic, behavioral and biomechanical root cause analysis and follow-up.
5. Monitor employee exposure to hazardous substances administering statutory and non-statutory health surveillance.
6. Effectively execute program workflows, protocols and procedures to include: emergency response, internal and external care referrals, return-to-work, stay-at-work, restriction management, FMLA.
7. Identify prevention and health promotion strategies to optimize the health of the population.
8. Educate on routine preventative stretches and mobility for reducing and preventing injuries.
9. The ability to render first aid to injured employees such as giving artificial respiration, cleaning and bandaging wounds, applying heat and cold to promote healing and advising on safer mechanism of job performance.
10. The ability to request assistance of on-site employee health services or a physician as necessary to assist employee.
11. The ability to communicate about and provide general health guidance on disease management issues such as HTN, DM
12. The ability to treat chronic minor reports of discomfort and related functional limitations to maintain employee performance.
13. Spendg time "on the floor" interacting with and engaging employees, providing job coaching. Assess the work environment for potential health and safety problems. Must be fully capable of extended mobility, climbing both in protected work environments and outdoors.
14. Coordinates the delivery of the travel medicine program, if applicable.
15. Conducts, collects and documents on-site data for following official reporting. Participate in management meetings for information delivery.
16. Performs ergonomic job hazard analysis of work stations with identified risk factors including job process, work station and work method and follow up to evaluate effectiveness of change.
17. Provide on-going evaluations of work environments and provide recommendations in the workplace.
18. Prepares ergonomic, injury intervention, injury treatment, surveillance, FMLA/ADA reports.
19. Provides tracking/trending and analysis of workplace ergonomic issues to provide recommendations to mitigate workplace injuries and illnesses and maintains associated database.
20. The ability to maintain friendly, cordial relations with all clients, outside vendors and employees
21. The ability to maintain a positive work atmosphere by acting and communicating in a manner that result in a positive work relationship with customers, co-workers and managers.
22. Provide education and training to employees in Health, Safety and Wellness topics, including: BBP, Universal precautions, in proper lifting techniques and body mechanics, as well as other OSHA surveillance, health and wellness related topics..
23. Maintains the confidentiality of sensitive information and records.
24. Ability to comply with ATI standards of operations
25. Ability to adhere to the Core Values of the Company
Non-Essential Functions:
1. Perform other duties as assigned by management
Supervisory Responsibilities:
No direct reports Knowledge, Skills and Abilities:
Education: Associates Degree in Nursing • >5 months experience in Occupational Health Nursing with desire to sit for the Occupational Health Nurse Certification when eligible preferred
• 2 years of nursing experience Experience: • Action oriented;
• Approachability;
• Career ambition;
• Comfort around higher management;
• Compassion;
• Composure;
• Conflict management;
• Creativity;
• Integrity and trust;
• Priority setting;
• Problem solving;
• Time management;
• Timely decision making;
• Microsoft Office
• The ability to organize and manage multiple priorities;
• Strong customer orientation;
• Excellent interpersonal and communication (both oral and written) skills;
• Excellent presentation skills;
• Strong team player; and
• Commitment to company values.
Skills and Abilities: Certifications Required: • Licensed Registered Nurse or License Practical Nurse
• current license in the State(s) in which they will be practicing.
• Current CPR certification
• COHN, or COHN-S certification preferred, but not required Working Conditions:
Travel Required: Yes
Hours Required: Up to 40 hours per week. Overtime to be approved by management
ATI is an Affirmative Action/Equal Opportunity Employer. We welcome job applications from qualified individuals without regard to race, color, religion, sex, national origin, age, disability, ancestry, family care status, veteran status, marital status, sexual orientation or any other lawfully protected status. Minorities, women, disabled persons, and veterans are encouraged to apply. It is the policy of ATI, as an equal opportunity employer, to attract and retain the best qualified individuals available, without regard to race/ethnicity, color, religion, national origin, gender, sexual orientation, age, disability or veteran status. Other details
- Job Family AWS
- Pay Type Hourly
Back to top


text:
Architects understood that it's time to forget about those old cardboard box looking residential buildings and create something that has a personality, impressive pieces of art, if I may. Thus, using different shapes, colors and materials, they managed to build architectural pieces that could also serve as landmarks, not just for residential purposes.
Veer Towers in Las Vegas, Nevada – Murphy Jahn
Club 218 in Siofok, Hungary – A4 Studio
The Eliza in Sydney, Australia – Tony Owen Partners
235 Van Buren in Chicago, USA – Perkins + Will
Aqua Tower in Chicago, USA – Studio Gang Architects
B199 in Istanbul, Turkey – Oncuoglu Architecture
Residential Building in Majske poljane, Nova Gorica, Slovenia –Ravnikar Potokar Arhitekturni
High Density Residential Building in Bucharest, Romania –Solano & Catalán, Elena Saricu
Plaza Residences in Mexico City, Mexico – Migdal Arquitectos


text:
Shares Fall on Currency Woes
BANGKOK, Thailand -- Share prices fell in feeble trading Friday as investors fled regional stock markets following the latest round of attacks on Southeast Asian currencies.
The Stock Exchange of Thailand index fell 9.53 to 502.23 with about 92.3 million shares valued at 2.52 billion baht traded. Declines outnumbered advances 168 to 70, excluding shares reserved for foreigners.