Rabu, 05 April 2017

Web Development Books For Beginners


g'day ladies and gentlemen, welcome to draw with jazza! i'm jazza and today we're going to talk about web design. having your own website is one of the most important things, when it comes to building your brand, building an audience or serving a product. i'm going to be sharing some tips, tricks and techniques that you can use to make your website stand out

that, when applied, will help your website serve it's core purpose to the best of its ability, be it to sell your product your artwork, to build an audience, so on and so forth. this video is sponsored by wix.com, an amazing place where you can build your own website fast and easy! it's an incredible place to build any kind of

website, from a really simple portfolio or contact page, through to a really robust business website with e-commerce and more. so if after this video you want to start a website, perhaps as an art portfolio or a place to sell your work or find freelance or tell your story wix is a really great place to do that and get started today, for free. so i'm

going to jump into today's video by breaking it down into eight different parts and i want to talk about these eight different principles and give some examples of each in application. the first and most important thing to ask yourself when building a website is, 'what is it's purpose?' specifically broken down into two questions; 'what is the hook?'

and 'what is the call-to-action?' this website is an example of someone who sells typography posters for children. as soon as you visit the website you see examples of the typography posters, as well as a clear statement of what the product is and the name of the brand. immediately after that you see the call-to-action- 'shop now'

which when you click on it, then immediately people are able to make their purchases and the call-to-action has been made. there are, of course, other parts of the website; all posters, custom things, statements and 'about' sections but really, as soon as you go to the website these are the most commanding aspects that you see. further browsing the web

site reveals all the other stuff but really, that call-to-action and the hook has been served immediately. here's a website where, even though it's in turkish and i can't understand it, it is a great example of how the first thing you actually see is the call-to-action, that being booking a stay in what seems to be a hotel, and it gives some very large, very

colorful images to help make that happen. before you jump into designing the visual aspect of your website you first want to understand what you want the viewer to do and then you need to ask yourself 'how can i keep them there long enough to convince them to do that?' the next thing i want to talk about is clarity. i've seen time and time again,

when people design their first website, they follow an instinct quite often of putting as much content on the website as possible. essentially, the instinct being followed there is the thought that, the more you offer, the more value the viewer gets. but the reality is, people who visit your website are used to visiting a lot of

websites very quickly and dismissing them just as quickly. most people are familiar with the same don't judge a book by it's cover, but anyone who's ever been into a bookshop knows that you do tend to judge books by their covers! it's only natural and when you visit a website, you're presented with the cover

and you're only really going to scan the synopsis and scan the cover before you decide whether you're going to invest more time in this or not. imagine that this is a book that you picked up in a shop. you know that it's pretty, it's really simple and straightforward and if you want to find more information all you need do is go to one of these few

links; gallery, video or contact. it's that straightforward. they just show you their product and invite you to see perhaps more if you're interested or to contact them if you want it. here's the landing page of a photography website which, as you can see, is extremely simple and when you click to enter it then you're presented with a gallery of their work, which is

easy to click on and navigate and explore, highlighting the work and what the creator of the website, the photographer, wants you to see. when you design your website treat it as if it's going to be a book, flipped through casually, by people not necessarily invested in what you're writing, or putting out there. make things clear and

simple and make the hook and call-to -action appealing and immediate. now let's talk about reading rules. this is probably something you may be familiar with and that is quite clearly that people read from left to right and from top to bottom. this is important when it comes to design, especially because our eye naturally scans over a page, rather than

reading meticulously through everything presented. as a result designers often put the most prominent information in the top left and design the rest of the webpage in, a sort of f shape design. not of course having nothing in the bottom right, but prioritizing the information and imagery and text towards the top left corner. here's a great example of a

website that uses this left to right and top to bottom viewing experience. our eye's immediately drawn to the upper left where we can see first the logo and then of course, the menu options, but that is complemented subconsciously by this very attractive image, also clearly demonstrating the service offered and reinforcing the quality and the brand of

this artist. here's a really different context using a similar principle. of course, a very large image takes up this home space, even on the homepage, we're presented with a large image that takes up the majority of the space, but our eye is almost immediately drawn up to the top left where we see the logo and the business name. and then, now that we've

already seen this large image and the logo, we are brought to our different options at the website, immediately enticed to browse their services. there are exceptions to this rule but this is really important to keep in mind, because it's a behavior pattern that has been scientifically tested and proven. the next we want to talk about is making your

website mobile friendly, and it's funny that so many people think of this as a feature. i'm sorry people, it's 2016 going on 2017 and having a mobile-friendly website is no longer feature, it's a necessity! more people browse the internet on mobile devices than on desktop computers. on top of this exponentially changing trend,

the other thing to remember is that viewer habits also change, along with this. so aside from just having a website that presents clean and clearly on a mobile device, i recommend keeping in mind two things. keep in mind scroll fatigue- people aren't endlessly going to scroll down and down and down on your webpage on a mobile device. they're going

to leave before they have to scroll too far. and, of course, remember to use a 'click economy'- essentially meaning you don't want people to have to press too many links or buttons to get to a place you want them to go through. if you want someone to buy an item from a shop, you want that checkout process to involve as few clicks as possible, from the moment

they make the decision to buy something, all the way through to completion of the purchase. likewise, if you want people to sign up to a newsletter or contact you, make sure to keep the 'click economy' in mind. now let's talk about text. this is a pretty straightforward one. i'm sure a lot of you who are sort of 'design savvy' will know

the difference between 'serif' and 'sans serif' font, so just quickly cover that. simply put, the difference between serif and sans serif fonts are that serif fonts have little structural details or embellishments. so, as you can see here, for example, the lines on the edges of the s, on the bottom of the r, i and f. however, on sans serif fonts, these

embellishments and details are not present. the reason it's worth mentioning this is that, while serif or sans serif fonts are both equally usable or appealing for titles and headers, it's highly recommended that, in areas of the body text of the website, that you use sans-serif. now, when it comes to text it's not just the fonts that have the

potential to entice or push away the reader. this wall of text here is an article that i copied and pasted, written by matthew schnipper, that is on virtual reality, but when presented like this, nobody in their right mind, especially if they're visiting a website for the first time, is going to have any interest in reading this, no matter

how interesting the article is, unless of course they already know and trust the author. all of a sudden, just by slightly repackaging and breaking apart the wall of information that we had, even a larger article can be much more enticing and readable. this is just a really simple scratch together example of what i'm talking about. you can see by using a

different font for the title, something that makes a bit more of a statement, catches the attention and entices the reader to start scanning that article bit. aside from breaking apart the information into easily digested paragraphs, there are also a few key segments of the article that i made stand out in different ways, either by

indenting and italicizing, like up here in the top left, or selecting a slightly cryptic or mysterious statement like 'not enough it turned...' out, isolating that putting that in the middle there, just so that people know that a story is going to be told to them. and then later on something big happens, the reveal of a 'two billion dollar.... 'something" just by

simply scanning over this article top-to-bottom, the person can get an idea as to whether this is a story that they may not be engaged in, and you sort of do a lot of that work for them. the other thing worth mentioning when it comes to text is that there are some, i suppose you could say, 'blacklisted' or

very unappealing fonts to people, simply because of how overused or inappropriate they tend to be for design. so it may be worth a little bit of your time or energy to google search what some of the font trends are and what some of the front 'no-no's' are. now let's talk briefly about images. if a picture says a thousand words, then surely it stands to

reason that you just want as many great images on your website as possible, and you'll be giving as much value to people visiting your website as they can get? but once again, it comes down to quality over quantity and we also come back to that 'less is more' principle. i really recommend not overusing images, but where you use them make sure that they do one

of these three things; that they effectively inform your visitor of any information you're presenting, or any service you're providing; or that your image intellectually or emotionally connect the visitor of your website with your service, product or brand; or of course, that the imagery on your website reinforces the identity of your business.

now, i want to talk briefly about schemes. essentially, color palettes and methods of structure that will entail the foundation of the visual presentation of your website. your website is an interactive user experience and as such you're building their expectations of that experience from the moment they land on your website, so you want the

browsing and the visual presentation to be consistent across every single page, so that the interaction with your website and the way that they learn about your product, service or business is effortless and consistent. last but not least and most certainly worth reiterating is 'less is more'! also echoed in the design principle

adage 'keep it simple, stupid!' also known as the kiss principle. always remember, whether it comes to the content of your website, or the visual presentation of your design, that less is more and that effective simplicity is far more appealing than an approach of design or content that overwhelms your viewer. i thought it'd be fun for we go to

take you through a bit of a trip through time. in getting ready for this video and preparing the content and the lesson plan i actually dug through all of my old versions of the jazzastudios.com website and found deep within the archives of my storage and folders and backups, the folder called 'old poo' which has my oldest versions of jazza

studios. i was 15 years old when i made this, you can see there's this really great, you know, repetition of the background across here. i think i acknowledged i wasn't a coder and so i tried to build my website in flash and this was my first attempt to do that. what does this look like? there we go. so this was my jazza studios website in

flash. what's this? hosted by freddy jr. jr. dot com. no, doesn't exist anymore! okay... and then i think this was actually my first official release of jazza studios, nicely anchored in the top left corner there because i didn't know how to center things. html. i didn't know how to put the content on there so i just had buttons that led to other places. do keep in mind this was when i

was like 15, 16 years old and then eventually i did painstakingly start to learn to code and put things together. and eventually ended up with something like this, but the amount of pain and effort i went to to put this stuff together. it took me months and months to like piece any website together because i am not a coder! i just needed a place to

show off my stuff and i had to make it work. i wanted to show you that because i wanted to reiterate the reason that i'm really excited about wix being the sponsor of this video, because if i had of had the tools that wix provides, back then, to make jazza studios, it would have looked a lot better and a lot different and it would have taken me a few days as

opposed to a few months. before making this video i spent a full day using wix.com, making a free website. seeing how it feels just to put together a bit of a sample portfolio website with a contact page in a gallery and it really only took me like two hours which is mind-blowing compared to what the job used to entail, when i built my earlier

website. so if you're an artist or writer or a designer and you need a place to showcase your work or get freelance or feedback, go check out wix.com because you can start today for free. keep in mind some of the tips and tricks i shared through this video, when putting website together, but there are loads of great templates you can use and it

really just simplifies the whole process because they handle the hosting and security, search engine optimization and all that stuff and once again you don't need to know any code, which for people like me, is a big thumbs up! that's it for this video, ladies and gentlemen. thank you so much for watching! make sure to like and subscribe if you

haven't yet and, until next time, i'll see you later. thanks for watching! make sure to subscribe to my channel for new content every week. if you want to support my work and get some goodies for yourself, head over to my store for archives, ebooks, digital brushes, video courses and more. if you enjoyed this video, here's a link to another video you might

like from this channel. if you want even more, make sure to check out all my behind-the-scenes action on my vlog channel, daily jazza. that's it for now! thanks for joining the 'arty party' and until next time, i'll see you later.

4 Best WYSIWYG HTML Editor for Bootstrap 3.0 and Jquery

Web Development Blog


hi. i'm steve huffman. eight years ago i started reddit.com, and more recently i started hipmunk.com as the lead engineer. when i started these websites, i basically knew nothing. so everything i learned, i learned through trial and error, and i had many lessons learned the hard way. this course is basically going to be me teaching you those lessons. so we'll take it from the top, we'll start with internet and browsers, and how they fit together. we'll talk about form validation, databases, apis, integrate with other websites, and we'll

even touch on some scaling issues. throughout this course, we're going to be building a blog together, and by the end of the course, this blog'll be fully functional, online for anybody to use, with user account registration and the whole deal. so, i'm really excited to get started, and let's jump right in.

How to Give Permission for User to Submit Content to Your Blog Without Become Member?

Selasa, 04 April 2017

Web Development Best Practices


richard hyndman: oh, thisis definitely on. hi there. and welcome to this talk onbluetooth best practices. my name is richard hyndman. i'm on the android team. and i head up android developer relations for europe. scout sinclair brody: i'mscout sinclair brody. i'm a product manager onthe android platform.

matthew xie: hi. my name is matthew xie. i'm the android techlead for bluetooth. richard hyndman: ok, let's getthis show on the road. so thank you all forcoming today. i'm pretty sure that some ofyou out there must have suffered at the hands ofthis technology before. yeah, right. we all have.

so thank you very much forcoming along, being open-minded, and listening towhat we have to say about android on bluetooth today. so, picture the scene. the year is-- who can get the year? first person? sorry? audience: [inaudible]

richard hyndman: no. 1994. it's quite a tricky one. it's a bad year forroman numerals. but the people over at ericssonwere sick and tired of having to reach around to theback of their computers to plug-in their serial cables. they tried turning theircomputers around. but then the power buttonswere on the wrong side.

so like any good '90s innovativecompany, they decided to reinventthe whole system. and they came up with bluetooth,as we know, for wirelessly connecting devices, peer-to-peer over short ranges. bluetooth's named after haroldblatand gormsson, blatand being "blue tooth" in english. he was a danish king that unitedtribes together without the use of serial cables.

so that was kind of handy. it's a good name forthe technology. so you get the h from harold--it's a rune--, and the rune for b. put them together, andyou get this bindrune that's the bluetooth logo. we've had bluetoothon android-- there he is-- since version 1.0. that's my favorite animationall deck.

and we had bluetooth 2.0with the edr stack-- headset profile, handsetprofile, but no real apis. so you can use classic bluetoothto connect music to music players, mice tolaptops, or mice with headphones to anythingyou want. but the point is, these thingsneed to be able to talk to each other. the need to be able todiscover each other. they need to be ableto connect.

and they need to be able totalk a common language. and for that, they're goingto need a bluetooth stack. so what's a bluetooth stack? a bluetooth stack is animplementation of the bluetooth core specification. on the bottom of it, you've gotthe rf transceiver doing the actual wirelesscommunications. above that, you've got thebaseband controlling the transceiver.

above that, you've gotthe protocol stack. lots and lots of protocolsall going into there, so you can talk. lots of different types ofcommunication between any two bluetooth devices. so this is a bluetooth stack. and then on top of that, youhave your bluetooth profiles. bluetooth profiles aredefinitions of-- [microphone feedback]

bluetooth profiles aredefinitions of which parts of the bluetooth stack are requiredfor doing each type of communication. bluetooth profiles generallyaren't tied in to any specific version of the stack. they're just definitions-- which codex you need,which parts of the stack do you need. so when you see versions ofbluetooth, you're looking at

versions of the corespecification. version 1, version 1.1, whichwas 802.15, the bluetooth spec was running about amegabit a second. version 2 went up to aboutthree mega second. the little + edr meansin enhanced data rate is optional. version 3, they claim, wasaround 24 megabits a second. not sure i ever gotthat out of it. with the + hs for plus highspeed is an 802.11 wi-fi link.

which brings us upto version 4. let's just say there have beenmany, many different bluetooth stack implementations. in android, we've had the bluezstack, powering aosp devices, samsung and htcdevices, sony xperias. we've also had the olderbroadcom stack. some of the htc before icecream sandwich devices. we've got a motorola bluetoothstack for all host motorola devices.

and then some others as well. and of course, theseare all compatible. but software has bugs in it. we know that softwarehas bugs in it. so potentially, you have to workaround different issues, just little things hereand there with all the different stacks. and whilst we've had all thesedifferent stacks, the android apis that have been available todevelopers and the android

bluetooth functionalityavailable to consumers has also been changing throughoutthe history of bluetooth. matt's just going to run throughquickly the different apis we've had on bluetooththrough the years. matthew xie: yeah, hi. i'm going to just go overandroid bluetooth versions features apis a littlequickly. so as you know, androidloves desserts. so you could say we havea real sweet bluetooth.

starting at the beginning,we included bluetooth. so android 1.0, we havebluetooth 2.0 with a headset and hands-free profile. so you can make a phone callusing your bluetooth headset [inaudible]. now, cupcake, we have a a2dp. you can stream musicover bluetooth. next is eclair. we have bluetooth 2.1with rfcomm apis.

and we also added object pushand the phonebook profiles. then with froyo, voice dialingover bluetooth. honeycomb, we added apis forprofiles, like a2dp and hands-free. honeycomb also added[inaudible] pan tethering, which is youcan connect your bluetooth keyboard, mouse, game pad, andtyping instead of doing that on your phone. and pan is data tethering soyou can share your internet

using bluetooth. and ics added a health deviceprofile so you can stream your medical data real-timeover bluetooth. and then now, it's jelly bean. over to scout. scout sinclair brody:so as you may know-- whoops, went backfor a second. try it again. whoop, too far.

there we go. ok, so as you mayknow, in 4.2, we introduced a new stack. we moved away from bluezto bluedroid. this was a change that was madepossible by a significant contribution to aospby broadcom. there were, of course, somebumps in the road with this transition, for which wecertainly apologize. but we felt that itwas an important

move on several levels. first, we wanted a stackthat was optimized for embedded systems. second, because of conflictinglicensing models, we actually had to run bluez in its ownprocess, which certainly had performance implications. and finally, we really felt thathaving stack development happen in aosp would allowgreater overall velocity, in terms of adding features andadding stability and

performance enhancementsover time. so that brings us to a topicthat many folks are interested in, which is bluetoothlow energy. [applause] scout sinclair brody: clearly,there's a lot of excitement about this technology. and i'm not sure that all ofyou are familiar with it. so i want to tell you a littlebit about what it is and why it exists.

bluetooth, as it was originallyconceived, was designed to interact, allowdevices with relatively large batteries that charge frequentlyto interact with one another. and as rich mentioned, use casesfor bluetooth classic typically involved streamingaudio or other high bandwidth applications. however, the originalspecification was a little bit heavy for devices that have verysmall batteries or that

you don't want to chargeevery day. so bluetooth low energy wasdesigned to work with devices in exactly this category. such as proximity tags that youcan attach to your keys to help you find them, orpedometers or fitness or medical sensors, orwatches, or game controllers, remote controls. there are a whole host ofpossibilities with this technology.

the goal is to let devices thatrun on small batteries like these to go foryears at a time without being recharged. the technology that wecolloquially refer to as bluetooth low energyis actually-- the official brand name of it,as propagated by the bluetooth sig, is bluetooth smart fordevices that support just ble, and bluetooth smart ready fordevices that support both ble and bluetooth classic.

so you might be wondering whyi'm showing a nexus 4 here. because, up until this point,of course, we have not had support for bluetoothlow energy in the android platform. but today, we are excited toannounce that when android api version 18 is released in acouple of short months, the nexus 4 and all future nexusdevices will support bluetooth low energy with developer-facingapis. scout sinclair brody: so thismeans that your apps and your

peripheral devices can takefull advantage of this exciting technology. so in a couple of minutes, we'regoing to go through a couple of code examples, andyou'll get a preview of the apis for bluetooth low energy. but i want to give you a bit ofterminology first that will help you in understandingwhen we walk through those examples. first off, you should knowthat ble is based on the

specification called gatt, whichis what your apps will actually interface with. gatt communicates using theattribute protocol, which, true to its name, transfers datain the form of attributes and operations on thoseattributes. the most basic type ofattributes are descriptors and characteristics. a descriptor, also true to itsname, is just a descriptive tag for another piece of data.

a characteristic consists ofa value and a zero or more descriptors associatedwith it. the bluetooth sig has adopteda number of standard characteristics for expressingsuch diverse information as the day of the week or a bloodglucose value or a sensor's location on a bicycle. i mean, there are all sortsof crazy things in there. characteristics can then begrouped together to form a service, which a bledevice can then

advertise to other devices. a service spec states not onlythe characteristics that a gatt service makes available,but also which characteristics the gatt clients can read,write, or receive notifications about. note that when two ble-enableddevices are communicating, either one can act as theclient or the server. they can even switch off. it all depends on whichone is actually making

characteristics availableto the other one. moving up in the specification, the next bit here-- sorry, there's the clientand server. the next bit here is gattprofiles, which define how data provided by a service isto be exchanged between the gatt server and its clients. profiles are defined withspecific use cases in mind, but are generally designedto be flexible enough to

accommodate multiple scenarioswithin a particular domain. as of right now, there are about20 different ones for a bunch of different use cases. and as of android api version18, you will be able to implement these profiles in yourapps, or future profiles that are released, or customprofiles that you want to define for your application. back to rich. richard hyndman: thankyou very much.

ok, so we had a quicklook at the bluetooth stack for classic. next, we've got the bluetoothstack for low energy as well. the point being, here, that atthe bottom you've got a low energy rf now. this is optimized. instead of streaming data likethe classic stack, just for bursting out these smallattributes of data and then powering back down again, thisis how bluetooth low energy

stays so low energy. and the protocol stack, insteadof being this enormous array of protocols, isreally focused on the one attribute profile. and on the profiles at thetop, instead of all the different profiles, we'vejust got this gatt profile on the top. so the bluetooth le stack is afraction of the size of the bluetooth classic stack.

and because of the low energyrf, it needs a fraction of the size battery. and you get these devices, ofcourse, that are a fraction of the cost and run fora lot longer. so as this talk's calledbluetooth best practices, we should have a look at some ofbluetooth's best practices. to demo this, we're going torun through an example of connecting a bluetooth heartrate monitor to a nexus 4. this is going to be, right now,the only place where you

can see the bluetooth le apisthat we've created. so here we go. although, to start with, youalways need to check if the device has bluetooth. when i was writing this slide,i was thinking, what devices don't have bluetooth? i almost took the slideback out again. and then i thought, only thedevices inside our ecosystem are cts-tested.

and they're the only ones thatwe can guarantee that have bluetooth on. so maybe there are non-bluetoothdevices. and then there's going to bethings like google tvs that also may not be bluetoothdevices. so it avoids horrific crashes. it's always worth checkingif you have bluetooth on the device. matt's just going to run youthrough the code quickly.

matthew xie: yeah so let's talka little about the code. to check whether there'sbluetooth on your device or not, you check bluetoothadapter. this is existing api. but the only way you'll get itis you're seeing static method with a bluetooth adapter,get default adapter. if you look at this code,we are changing that. we're obsoleting that. now we are doing this withour bluetooth manager.

so you see context, getsystem service, with bluetooth service. and then, from the manager, youget the bluetooth adapter. and now you check, if that'snull, then you don't have bluetooth support inyour platform. richard hyndman: ok, so we'vegot a device with bluetooth. of course, you're next goingto need to check whether bluetooth's turned onor off to avoid the next horrific crash.

matthew xie: yeah, you dothis by we provide api. you do this by checkfrom the adapter. you check whether it'senabled or not. if it's not enabled, you cansend an intent to the [inaudible] app to enable it. we don't have an api to enableit directly, because we want full user awareness. so you cannot sneakbluetooth on without the user's knowledge.

richard hyndman: yeah, so youfire off the intent to get the bluetooth setting screens up. right, so now we're ready toconnect the bluetooth le device to the phone. so we have a new flow forbluetooth low energy. we start with a lowenergy scan. and that's going to put thedevice in scanning mode and look for any devices-- any low-energy devices--

that are currently advertisingtheir presence and available for connections. you find the one that you want,you stop the scanning, and you connect to the device. once you're connected,you discover the services of the device. in the case of a heart ratemonitor, it's going to have the heart rate service. then you can find the

characteristics of the service. this is all about how thegatt profile works. characteristics of a heart rateservice, one's definitely going to be the heartrate, the pulse. another one could be thelocation of the pulse that it's checking on the body. maybe you've got it around yourwrist, or around your chest or something. so you can then find the heartrate and then read it.

you can either just read theattributes for the heart rate or register to get notificationsabout them. and here's the code for that. matthew xie: first, you wantto discover the ble device. we provided a new api to do thatin the bluetooth adapter. this is just for le device. you do start le scan. we have two apis. one is just api witha callback.

the other, you can pass in uuidfilters to filter out only the device you'reinterested in. and this api is callbackbased. we send out results throughcallback, so you have to implement the le scan callbackapi with an le scan. and there are three parameterswe're going to call you. one is a device. that's the one youwant to find out. and rssi, which receivethe signal strength.

and the scans record is theadvertisement data in a byte rate format. ok, now if all you're interestedin is just the advertisement data,then you're done. but if you want to use theservice hosted by the remote ble device, you needto connect to it. you do this by bluetoothdevice connect gatt. with this, you connectto the remote device. this is also on callbackbased.

if you look there, there'sa few callback functions, because the connect call ordiscovery call or character read or write callare asynchronous. so you'll implement thecallback function. and when there's results comingback, we will call the callback functions. take the example, like say, whenyou see like discover a service, we'll call back withonservicediscovered with a write status.

and then you can say getservices to catch the service. so with a service is a listof bluetooth gatt service. so you traverse the services. for each service, you canjust go to look for characteristics, or you canuse uuid to find out the service you are interested. and then, the same way, you gointo each service and get characteristics, which isa list of bluetooth gatt characteristic.

with that you can check uuidsand look for the uuid your user is interested. like in this example, trying tomatch the heart rate uuid and get that. and then, you can alsoset notification. and so we'll notify you if thecharacteristic changes. now back to scout. scout sinclair brody: ok. so there's your sneak peek atthe ble apis for android.

this is an excitingtechnology. and we know that you'relooking forward to working with it. there are a few other thingsthat we think you should bear in mind, though, as you'repreparing to do so. first off, since ble will beintroduced in android api version 18, you'll need adevice running the next version of android beforeyou can take advantage of these apis.

however, once they are released,they will be covered by the compatibility program inthe same way that bluetooth classic apis are, which meansyou can count on them being present in new andupdated devices throughout the ecosystem. next, we want you to know thatthe first version of these apis have support for the blecentral role but not the peripheral role. this means that you won't beable to have two android

devices talking to each otheracross the ble, at least not to begin with. next, and speaking to thenature of the technology itself, please remember thatbluetooth is not a type of magic fairy dust that you cansprinkle on your existing apps and have them become suddenlymore battery efficient. it is a different technologywith very distinctly different use cases. and this is a commonthing that i'll see

in talking to people. they'll say, oh, andnow we've got ble! everything's going to be muchmore battery efficient. i'm going to have muchbetter battery life. well, it doesn't exactlywork that way. the data model for bluetoothlow energy is optimized for small incremental updates. with a max theoreticalthroughput of 200 kilobits per second, streaming audio or videois really not possible.

however, if you're looking tosend data over from a sensor of some sort or if you're superforgetful and want to have ble proximity tags attachedto everything you own, bluetooth low energy isgoing to be a fantastic option and definitely a morepower-efficient way to go than classic bluetooth. richard hyndman: right,of course. whenever you're on a mobile os, battery is always a concern.

when you're running wirelesscommunications on a mobile os, it's even more of a concern. so just a couple of littlebattery tips for classic and le. when you're scanning fordevices, once you've found the device you're looking for, ofcourse, tell the system that you've found it and turnoff the scanning. this also serves anotherpurpose, because there's definitely, with some of thestacks, some conflict when

you're trying to make an rfcommconnection with the device you've just found-- and some people are noddingquite a lot-- and if you're stilldiscovering. so don't have discovery on whileyou try and make the connection, and you'll alsosave a bit of battery. also, never loop onany rf functions. there are wireless devices. one might go out of range.

it might lose its batteryor something. so if you're trying to connectto a device and you fail, then just ask the user or do someintelligent logic about whether they want toreconnect again. don't just sit there loopingon the radio. we've see it one or two times,and then, of course, it just depletes the battery, especiallyif you're in a background service and the userdoesn't know what's going on, trying to reconnect tosomething that existed before.

also, don't reinventthe wheel. android beam is prettyestablished now. if you want to do a bluetoothfile transfer, for example, nfc is a great way for doing thebluetooth handshake at the start, for getting the detailsof the two devices. and with android beam, youjust have to set the beampushuris or thecreatebeamuriscallback. and you can make it so when thetwo devices touch, a large file is sent betweenthe two of them.

android beam will do thenegotiation and send the file over bluetooth for you. there's something todo with the rfcomm apis again, as well. initial apis listen usingrfcomm and create rfcomm sockets secure apis. and that means that they needboth devices to have a screen and i/o to be able to make thesecure connection, because you need to do all thepin entry stuff.

so if you try and make a secureconnection, or if you just try and use these apisand it fails, one of the reasons may be that the targetdevice can't display a pin. if that's the case, go backto be insecure apis at the bottom, create insecure andlisten insecure, and it'll create the connectionmuch more simply. to be honest, most the time,you don't need to use the secure apis. if you've got both devices inyour hand, the chance of a man

in the middle attackis pretty slim. so you're going to save yourselfa lot of bother inside your application if youjust go with the insecure ones, because there'sa lot less reasons why they would fail. one last thing. what would any good bluetoothtalk be without a final little teaser? a think it's a good point.

we've got this wholenew stack in there. we're announcing afew other things. so i'm very happy to say thatalso within api 18, in a few short months, we will be addingsupport for avrcp 1.3. and to the people in theaudience that that means something to, they'll bequite happy about that. [inaudible] will be very happyabout that, because he pings me about it every day. avrcp 1.0 was in an earlierversion of android, and it

meant you could connect yourphone to your car stereo and do the remote control. with 1.3, we also add allthe meta data as well. so you'll see your album art. you'll see your track numbers,track listing, album and titles, that kind ofthing, as well. so of course, there has to bean api for that as well. and it's using an existingapi-- the remote control client api.

so anything that's already usingremote control client-- and google music certainly does,and a lot of apps have remote control clientsalready-- will automaticallywork for you. and your car stereo will get allthe awesome information. if you want to have a lookinside the api, have a look inside the media metadataretriever, and there's a whole load of different tagsinside there that you can set on the api.

things like the album art,things like that. and one final thing, make sureyou always call clear on the metadata [inaudible] first, or you're going to mixyour metadata up with whatever metadata was in there first. and it gets all a bit crazy. ok. back to scout to wrap it up. scout sinclair brody:all right.

so we've had a couple ofexciting announcements, including the inclusion ofbluetooth low energy apis in api version 18, alongwith avrcp 1.3. we have office hours immediatelyfollowing the session, over in the androidsandbox that you're welcome to join. i think we seem to have gonerelatively quickly, so we've got some time for questionsnow as well. but of course, if you want tofind out more about the

bluetooth apis and anythingrelating to android, as always, you should definitelycheck out the developer website. and there's a specific linkright there to the bluetooth information. and let's have you stepup to the mics if you have any questions. scout sinclair brody:thank you. so it's hard to tell.

i think we've got atleast one question. so why don't you go ahead. audience: hi. my name is jimmy [? bocham ?] from [? stickerpoint. ?] i have a question aboutthe new api for bluetooth low energy. the first question is, will itsupport multiple devices connected at the same time?

and the second question, willit support devices calling specific apps? so if the app is not runningin the background, will you support this? so let's take themone at a time. first was-- richard hyndman: willit be able to connect to multiple devices. audience: multiple connectionsat the same time.

matthew xie: yeah. yeah, that's a central. yeah, we can connect tomultiple peripherals. scout sinclair brody: ok, so ifyou're running in central mode, such as you'reon the phone-- matthew xie: yeah, weare able to do that. scout sinclair brody: --itcan connect to multiple peripherals. and then the second?

audience: the second questionwas regarding if an le device can call a specific appthat is not running. matthew xie: yeah, so withthese callback functions. even if it's switched inthe background, we will still call you back. audience: so if the app is notrunning, and the le device-- or the phone is on background. it could be on standby orits on the background. and a specific device thatyou've connected before that

hasn't appeared before comesinto range, will you allow to call a specific app? i think your app, you haveto implement our service. so that, if its activity,if you are tending the background, it's stopped. but if you have a service,then we will call that. richard hyndman: yeah, thescanning on the device isn't going to be scanning for newadvertising devices that are coming past the whole time.

the radio is not on scanningthe whole time. so it won't know that a randomdevice has just come into range, i believe. richard hyndman: so you'd haveto have a service that scans to try to find devicesthat are-- audience: so you need to haveit in the background. richard hyndman: yeah, you wouldstill need to have a service in the background. and that would not be greatfor the battery, maybe.

scout sinclair brody: ok,so let's alternate. so let's go on this side. i'm [inaudible]. i have a question. i noticed you didn't mentionany sort of backwards compatibility. is there any hope of that? and do you think there's anyprospects on backporting it? is that even possible?

richard hyndman: so what we'resaying is that it's going to be api level 18 and above andnot be in the compatibility test suite. scout sinclair brody: andthis is very common. when a new api is introduced,it's for that api version. it doesn't necessarilygo backwards in time. audience: so i've alreadystarted using the motorola, the htc, and the samsungble library sdks. is it going to be--

richard hyndman: that'sdefinitely an option. going forward though, of course,all those devices will also, when they get to api 18,have to support the official framework instead of ble apisso if you do want to support those current sdks thatare out there, that's absolutely fine. as always, with android,it's open. but going forward, yeah, youjust have to support this one set of apis, and it'll makeyour life a lot easier.

audience: to support multipledevices connected at the same time, when the app isin the background, how do i know which-- like, in a proximitycase, there are multiple bluetooth tags. and how can i distinguishwhether a particular-- few tags are of interestto me, that are mine. there could be other tagswhich are not mine. so how do i take care of sucha kind of situation.

scout sinclair brody: underthe assumption that you've been encountered thesetags before? audience: yeah. is there an associationin bluetooth le? richard hyndman: well you canassociate inside your application with theid from the tag. so the first time youget the tag, you can say, this is my keys. inside your app, it saysit's found the tag.

and you could giveit a name inside your app, if you wanted. but each ble device is a uniqueid that you'll be able to reference againwhen you see it. audience: so it's completelyapplication-based? richard hyndman: yeah. audience: so it's not anythingto do with the stack itself? scout sinclair brody: no. audience: or the os?

scout sinclair brody: entirelyup to the application. audience: hi, myname is albert. what le profiles willbe supported when api 18 comes out? scout sinclair brody: soright now we support-- there's gatt. there's support for gatt. and you can implement supportfor gatt profiles in your application.

audience: so you're expectingle profiles like heart rate monitors and [inaudible] gatt to be distributed overthe google play store? richard hyndman: theyall run over gatt. scout sinclair brody: yes,they all run over gatt in audience: and they can bedistributed over the google play store? scout sinclair brody: yeah,it's part of your app. audience: is gatt serverwill be supported?

we support. we also open up api tosupport gatt server. audience: gatt server. how about gatt over basicrate over edr? matthew xie: say it again? richard hyndman: gatton bluetooth-- audience: gatt over basicrate over edr. so in the bluetoothspecification, gatt could run over low energy protocol,and also could run

over basic rate edr? matthew xie: yeah, we alsosupport that, yes. so if it's on the basic rate,the api will still work. yes. scout sinclair brody: can youturn the mic back on? go ahead. no, you should be fine. i was asking the techfolks to turn-- audience: oh, hello?

scout sinclair brody:you're good. audience: i didn'tget the answer. i'm sorry. matthew xie: the answer is,the same api will work in that case, too. like, gatt over basic rate. audience: and you mentionedearlier that the peripheral role is not supported. scout sinclair brody: theperipheral role is not

implemented for api version18 at this point, no. audience: how about theobserver role and the advertiser role? so in the gatt specification,there's four roles-- the central, peripheral, observer,and the advertiser. will the other two rolesbe supported, as well? matthew xie: you're talkingabout the broadcaster? audience: the broadcaster. observer.

matthew xie: no broadcaster. observer, yes. audience: no broadcaster. matthew xie: at this point. richard hyndman: we're stillmaking these apis. matthew xie: api 18, no. we don't do advertisement. we do scanning for theadvertisements. so we are in the centralrole, basically.

so one, the broadcaster roleor the observer role that you're talking about, thatdoesn't really apply to us, because we have tx and rx. we have both tx rx. does that answeryour question? scout sinclair brody: maybe thisis something that we can continue during officehours, if that's ok. can you make it tooffice hours? audience: ok.

matthew xie: so in short, wedo central, and that's it. with central, we can scanadvertisements. so you have observer there,supporting it in default, too. no broadcaster or peripheralat this point for api 18. audience: thank you. scout sinclair brody: thanks. let's move over here. audience: hi, myname is diego. i work for a company that doesmultiple mobile platforms.

is this going tobe available-- is this going to work also withother platforms like ios or windows phones that alreadysupport bluetooth 4.0? scout sinclair brody:well, so it depends. i'm actually not familiarwhether or not those devices support the peripheral role. because in android api version18, we only support the central role. so if they can do peripheral,then we can talk to them.

but if they only do central aswell, then as of api 18, no, you won't be able to talk overble with the devices. basically, you need somethingthat can be in peripheral mode. audience: thanks. audience: hello. i was curious about aptx or "aptx", higher dynamic range bluetooth streaming audio. is that going to besupported in aosp?

or is that just relegated tosamsung, htc, and others that pay a license fee? i'm just curious. scout sinclair brody: so asfar as i know, that's not something that we have workingfor this next version. and in general, we don't commenton things that are happening after that. so definitely stop by officehours to talk about it and make sure that we understandyour use cases and what you

envision this beinguseful for. because it can be useful forus in sort of prioritizing what features and what aspectsof the spec we go for next. but at this point, we won'tcomment on things like that. sorry. all right. i guess one more overhere, and then we head to office hours. audience: this is justa curiosity.

the ios bluetooth stackrotates mac addresses every 15 minutes. does the android stack doanything like that? it's a privacy feature,currently. matthew xie: i think we do. we do that, yes. audience: and, just curious. what type of range have youguys seen on android's peripheral?

like, how many feet? richard hyndman: havewe tried that? mine works from hereto here quite well. audience: six inches? twelve inches? matthew xie: more than that. i think it's-- scout sinclair brody:obviously it depends on the device.

matthew xie: yeah, it dependson the device. about ten meters, i would say. audience: so onelast question. the rssi, is that going to benormalized across devices? so if i have two devices, like asamsung and an htc, and they both report, say, at an rssi of85, would they be about the same distance? or is it calibrated per deviceor per radio [inaudible] or something?

matthew xie: that'sa good question. i think it's calibrated. audience: that would be greatfor the cts or whatever, to make sure that those areconsistent, because otherwise we'd have to checkit manually. thank you. scout sinclair brody:makes sense. all right, on to office hours. thank you all for your time.

richard hyndman: the officehours is on the third floor, at the back of theandroid area. thanks very much. matthew xie: thank you.

New 3 Raspberry PI Creative and Inspiration Febuary 2014

Web Development Basics


- [voiceover] in thisvideo, i'd like to recommend some websites that you can use to support your learning process and to learn more about htmland the web technologies. my favorite site for api reference is the mozilla developer network. this is maintained bythe mozilla foundation and in here you'll find information about basically all html tags,

what their attributes are, which attributes you should no longer use because they're beingdeprecated and things like that. normally, if you searchon google for any html tag and you add mdn or mozilla, it'll take you to theircorresponding page. i've never really used thissearch engine they have, i just search through google, but this is a great place to find

standard compliant information. another good website is caniuse.com. there are some features in html that are not fullysupported by all browsers, they are newer features. an example of those newer features, which are by the wayvery exciting features and i'm really hoping that they'll soon be supported by all browsers,

one of them for example is the input date, which is an input field that you can have to ask a date for the user, so it will show a calendar, and it just works outof the box, pure html. so this website, in here youcan search for any html tag and it'll show you whichbrowsers support this technology and which ones are in theprocess of supporting it and which ones simply do not support it.

so before using any cutting-edgefeature of the language, make sure to check on caniuse.com to see if it's supported or not. on zenva, we have a few different blogs and one of them is the html5 hive, which contains a lot of freetutorials on web development, other materials on html5 and javascript, and in here you canalso find a free e-book, which covers similar contentas this course, as this module,

but there are a few thingsthat we cover in the course that are not here and theother way around as well. and there's also a freeonline course on html and css, which is a simplified version of what you've been learning here, but there might be some contentthat's not repeated in both. there's actually a fair amount of stuff that's in one course, not the other. and lastly, we've got our youtube channel,

which contains a lot of videos that you can obviously watch for free, so if you go to our youtube channel, the zenva youtube channel, and then you go to the playlists section, you'll see all of thevideos sorted by topic, so you'll find a bunch of videos on, there's a lot more than those playlists. you'll find videos onhtml, videos on javascript,

videos on all sorts of web technologies and also other topics like web development andmobile app development. so there's another websitethat is very popular with people that are learning to code, which is the w3 schools, so that one shows up on google usually. the w3 schools is awebsite to be taken with a little bit of care

because it does have very goodexplanations for beginnings, but they're not always standard compliant. that's why i actually preferthe mozilla developer network, because they do a great effort into enforcing these standards and teaching you thecorrect way to do things, but having said so, i have to recognize that iuse this website sometimes, everybody does, so itcontains a lot of good,

quick explanations for things, but just don't forgetthat there might be things that are not fully updated, or that are not fully standard compliant.

4 Best WYSIWYG HTML Editor for Bootstrap 3.0 and Jquery

Senin, 03 April 2017

Web Development Australia


hi, i'm alan bird from the world wide webconsortium and in australia to welcome anu as our new office here in australia and welook forward to many more people in australia joining us in helping the web reach it's fullpotential. armin. thank you alan. so my name is armin. i'm the office manager for the w3coffice in australia, recently became the office manager and we're really perfectly placed atthe anu to help the w3c with members in australia. if you look at the world wide web and howit influences business models in different industries, so look at corporations, lookat uber and airbnb, how they changed the taxi business or the accommodation business. weat the college of engineering and computer

science together with the college of businessand economics at anu are perfectly placed to really talk to industries in australia,to explain to them what standards work in the w3c will influence the business and willinfluence the business model and how they have to be on the table to shape this futureof the web.

New 3 Raspberry PI Creative and Inspiration Febuary 2014

Web Development Articles


do you need a website, web applicationsearch engine optimization are you looking to enhance your onlinepresence let's simplify the problem you need a service that will make yourbusiness work effectively online we're here to help you achieve that help you stop chasing latesttechnologies to make it easier. cheap freelancers can't finish the job.free services that you could end up losing money on. introducing comprehensive web solutions by hermes services group

we design development help you reach yourclients using the latest technology that ischosen according to your needs. designs that attracts the right type of people advanced seo techniques and socialmedia integration we can even help you create and fill in the content we have the solutions you were lookingfor contact us today and make a leap intothe future hermesservicesgroup.com

How to Loop Array in Javascript in Right Way

Jumat, 31 Maret 2017

Web Development Architecture


in the great 1980s movie"the blues brothers," there's a scene where john belushigoes to visit dan aykroyd in his apartment in chicago for the very first time. it's a cramped, tiny space and it's just three feet awayfrom the train tracks. as john sits on dan's bed, a train goes rushing by, rattling everything in the room. john asks, "how often doesthat train go by?"

dan replies, "so often, you won'teven notice it." and then, something falls off the wall. we all know what he's talking about. as human beings, we get usedto everyday things really fast. as a product designer,it's my job to see those everyday things, to feel them, and tryto improve upon them. for example, see this piece of fruit? see this little sticker?

that sticker wasn't therewhen i was a kid. but somewhere as the years passed, someone had the bright ideato put that sticker on the fruit. why? so it could be easier for us to check outat the grocery counter. well that's great, we can get in and out ofthe store quickly. but now, there's a new problem.

when we get home and we're hungry and we see this ripe, juicy pieceof fruit on the counter, we just want to pick it upand eat it. except now, we have to lookfor this little sticker. and dig at it with our nails,damaging the flesh. then rolling up that sticker -- you know what i mean. and then trying to flickit off your fingers. (applause)

it's not fun, not at all. but something interesting happened. see the first time you did it,you probably felt those feelings. you just wanted to eat the piece of fruit. you felt upset. you just wanted to dive in. by the 10th time, you started to become less upset

and you just started peelingthe label off. by the 100th time,at least for me, i became numb to it. i simply picked up the piece of fruit, dug at it with my nails,tried to flick it off, and then wondered, "was there another sticker?" so why is that? why do we get used to everyday things?

well as human beings,we have limited brain power. and so our brains encode theeveryday things we do into habits so we can free up spaceto learn new things. it's a process called habituation and it's one of the most basic ways,as humans, we learn. now, habituation isn't always bad. remember learning to drive? i sure do. your hands clenched at 10 and 2on the wheel,

looking at every singleobject out there -- the cars, the lights, the pedestrians. it's a nerve-wracking experience. so much so, that i couldn't eventalk to anyone else in the car and i couldn't even listen to music. but then something interesting happened. as the weeks went by,driving became easier and easier. you habituated it. it started to becomefun and second nature.

and then, you could talkto your friends again and listen to music. so there's a good reason whyour brains habituate things. if we didn't, we'd noticeevery little detail, all the time. it would be exhausting, and we'd have no timeto learn about new things. but sometimes,habituation isn't good. if it stops us from noticingthe problems that are around us,

well, that's bad. and if it stops us from noticingand fixing those problems, well, then that's really bad. comedians know all about this. jerry seinfeld's entire career was builton noticing those little details, those idiotic things we do every daythat we don't even remember. he tells us about the timehe visited his friends and he just wanted to takea comfortable shower. he'd reach out and grab the handleand turn it slightly one way,

and it was 100 degrees too hot. and then he'd turn it the other way,and it was 100 degrees too cold. he just wanted a comfortable shower. now, we've all been there, we just don't remember it. but jerry did, and that's a comedian's job. but designers, innovatorsand entrepreneurs, it's our job to not just noticethose things,

but to go one step furtherand try to fix them. see this, this person, this is mary anderson. in 1902 in new york city, she was visiting. it was a cold, wet, snowy dayand she was warm inside a streetcar. as she was going to her destination,she noticed the driver opening the window to clean off the excess snowso he could drive safely. when he opened the window, though,he let all this cold, wet air inside,

making all the passengers miserable. now probably, most of thosepassengers just thought, "it's a fact of life, he's gotto open the window to clean it. that's just how it is." but mary didn't. mary thought, "what if the diver could actually cleanthe windshield from the inside so that he could stay safe and drive and the passengers couldactually stay warm?"

so she picked up her sketchbookright then and there, and began drawing what would becomethe world's first windshield wiper. now as a product designer,i try to learn from people like mary to try to see the worldthe way it really is, not the way we think it is. because it's easy to solve a problemthat almost everyone sees. but it's hard to solve a problemthat almost no one sees. now some people thinkyou're born with this ability or you're not,

as if mary anderson was hardwired at birthto see the world more clearly. that wasn't the case for me. i had to work at it. during my years at apple, steve jobs challenged usto come into work every day, to see our products throughthe eyes of the customer, the new customer, the one that has fearsand possible frustrations and hopeful exhilaration that theirnew technology product

could work straightaway for them. he called it staying beginners, and wanted to make sure that wefocused on those tiny little details to make them faster, easier and seamlessfor the new customers. so i remember this clearlyin the very earliest days of the ipod. see, back in the '90s, being a gadget freak like i am, i would rush out to the storefor the very, very latest gadget. i'd take all the time to get to the store,

i'd check out, i'd come back home,i'd start to unbox it. and then, there wasanother little sticker: the one that said, "charge before use." what! i can't believe it! i just spent all this timebuying this product and now i have to charge before use. i have to wait what felt like an eternityto use that coveted new toy. it was crazy.

but you know what? almost every product back then did that. when it had batteries in it, you had to charge itbefore you used it. well, steve noticed that and he said, "we're not going to let thathappen to our product." so what did we do? typically, when you have a productthat has a hard drive in it,

you run it for about30 minutes in the factory to make sure that hard drive's goingto be working years later for the customer after theypull it out of the box. what did we do instead? we ran that product for over two hours. well, first off, we could makea higher quality product, be easy to test, and make sure it was greatfor the customer. but most importantly,

the battery came fully chargedright out of the box, ready to use. so that customer,with all that exhilaration, could just start using the product. it was great, and it worked. people liked it. today, almost every productthat you get that's battery powered comes out of the box fully charged, even if it doesn't have a hard drive.

but back then, we noticedthat detail and we fixed it, and now everyone else does that as well. no more, "charge before use." so why am i telling you this? well, it's seeing the invisible problem, not just the obvious problem,that's important, not just for product design,but for everything we do. you see, there are invisible problemsall around us, ones we can solve.

but first we needto see them, to feel them. so, i'm hesitant to give you any tips about neuroscience or psychology. there's far too many experienced peoplein the ted community who would know much moreabout that than i ever will. but let me leave you witha few tips that i do, that we all can do,to fight habituation. my first tip is to look broader. you see, when you're tackling a problem,

sometimes, there are a lot of stepsthat lead up to that problem. and sometimes, a lotof steps after it. if you can take a step backand look broader, maybe you can change some of those boxes before the problem. maybe you can combine them. maybe you can remove them altogetherto make that better. take thermostats, for instance. in the 1900s when they first came out,they were really simple to use.

you could turn them up or turn them down. people understood them. but in the 1970s, the energy crisis struck, and customers started thinking abouthow to save energy. so what happened? thermostat designers decidedto add a new step. instead of just turning up and down, you now had to program it.

so you could tell it the temperatureyou wanted at a certain time. now that seemed great. every thermostat hadstarted adding that feature. but it turned out that no onesaved any energy. now, why is that? well, people couldn't predict the future. they just didn't know how their weekswould change season to season, year to year. so no one was saving energy,

and what happened? thermostat designers went backto the drawing board and they focused on that programming step. they made better u.i.s, they made better documentation. but still, years later,people were not saving any energy because they just couldn'tpredict the future. we put a machine-learning algorithm ininstead of the programming that would simply watchwhen you turned it up and down,

when you liked a certain temperaturewhen you got up, or when you went away. and you know what? it worked. people are saving energywithout any programming. so, it doesn't matter what you're doing. if you take a step backand look at all the boxes, maybe there's a wayto remove one or combine them so that you can makethat process much simpler.

so that's my first tip: look broader. for my second tip, it's to look closer. one of my greatest teacherswas my grandfather. he taught me all about the world. he taught me how things were builtand how they were repaired, the tools and techniques necessaryto make a successful project. i remember one storyhe told me about screws, and about how you need to havethe right screw for the right job. there are many different screws:

wood screws, metal screws,anchors, concrete screws, the list went on and on. our job is to make productsthat are easy to install for all of our customs themselveswithout professionals. i remembered that storythat my grandfather told me, and so we thought, "how many different screwscan we put in the box? was it going to be two, three,four, five? because there's so manydifferent wall types."

so we thought about it, we optimized it, and we came up with three differentscrews to put in the box. we thought that was goingto solve the problem. but it turned out, it didn't. so we shipped the product, and people weren't havinga great experience. we went back to the drawing board just instantly after we figured outwe didn't get it right. and we designed a special screw,a custom screw,

much to the chagrin of our investors. they were like, "why are you spendingso much time on a little screw? get out there and sell more!" and we said, "we will sell moreif we get this right." and it turned out, we did. with that custom little screw,there was just one screw in the box, that was easy to mountand put on the wall. so if we focus on those tiny details,the ones we may not see and we look at them as we say,

"are those important or is that the way we've always done it? maybe there's a way to get rid of those." so my last piece of adviceis to think younger. every day, i'm confronted with interestingquestions from my three young kids. they come up with questions like, "why can't cars fly around traffic?" or, "why don't my shoelaceshave velcro instead?" sometimes, those questions are smart.

my son came to me the other dayand i asked him, "go run out to the mailboxand check it." he looked at me, puzzled, and said, "why doesn't the mailbox just check itselfand tell us when it has mail?" (laughter) i was like, "that's a prettygood question." so, they can ask tons of questions and sometimes we find outwe just don't have the right answers. we say, "son, that's just the waythe world works." so the more we're exposed to something,

the more we get used to it. but kids haven't been aroundlong enough to get used to those things. and so when they run into problems, they immediately try to solve them, and sometimes they find a better way, and that way really is better. so my advice that we take to heartis to have young people on your team, or people with young minds.

because if you have those young minds, they cause everyone in the roomto think younger. picasso once said,"every child is an artist. the problem is when he or she grows up,is how to remain an artist." we all saw the world more clearlywhen we saw it for the first time, before a lifetime of habitsgot in the way. our challenge is to get back there, to feel that frustration, to see those little details,

to look broader, look closer, and to think younger so we can stay beginners. it's not easy. it requires us pushing back against one of the most basic wayswe make sense of the world. but if we do, we could do some pretty amazing things.

for me, hopefully, that's betterproduct design. for you, that could mean something else,something powerful. our challenge is to wake upeach day and say, "how can i experience the world better?" and if we do, maybe, just maybe, we can get rid of thesedumb little stickers. thank you very much.

4 Best WYSIWYG HTML Editor for Bootstrap 3.0 and Jquery