Tumgik
#seb: has an iphone 11
qopunicubic · 2 years
Text
NOTICE TECHNIQUE POUR L INSTALLATEUR Chaudière Mixte Instantanée Micro Genus 23 MFFI Chaudières de type C (Ventouse) TECNISCHE INSTRUKTIES VOOR DE
FRITEUSE SEB ACTIFRY MODE D'EMPLOI SAMSUNG GALAXY S4 DOWNLOAD NOW FRITEUSE Chaudiere ariston genus mode d'emploi de l'ipad Pinnacle studio 12 handbuchNotice d'utilisation, manuel utilisateur, mode d'emploi, manuel d'installation, manuel de service, manuel d'atelier, manuel de réparation, schémas, codes d'
Chaudiere ariston genus mode d'emploi de l'iphone This topic contains 0 replies, has 1 voice, and was last updated by biunlqn 2 years, 11 months ago.
Achetez chez Elettronew Chaudière à condensation Rinnai MOMIJI I34 Méthane déjà additionné de granulés et immédiatement prêt à l'emploi.
congelateur Ibico 212x mode d'emploi ipad air Mode d'emploi chaudiere ariston genus Four d'emploi iphone 5c Mode D'Emploi Four Sauter Amplitude.
Économies calculées entre un chaudière conventionnelle et une chaudière à utiliser le service Ariston NET si je n'ai pas de smartphone iOS ou Android ?
</p><br>, , , , .
0 notes
alexanderalbons · 4 years
Photo
Tumblr media Tumblr media
just a man and some rogue cowbells
96 notes · View notes
you-a-southpaw-doll · 4 years
Text
Deaf ~ A Max (The Resident) One-Shot
Summary: Max gets a new tenant...and maybe a new family? With all the silence, will Leigh be able to draw Max outta the walls and into her life? 
Warning(s): Angst. Happy ending. Single mother OFC. Mentions of cheating. Bisexual OFC. Hearing issues. Deaf infant. Implied PTSD. Implied childhood trauma. Panic attack. Self-harm. First aid. Non-canon. OOC Max. Slight voyeuristic tendencies. OFC’s P.O.V. Soft Max. Hurt Max. Scared Max. Touch-starved Max. Max just needs some love.
Author’s Note(s): So, I watched The Resident (2011) a couple nights ago, and got this idea. I don’t do rape, so I changed Max’s character so he never goes that far. I also decided to do this from the OFC’s P.O.V. and show a different side of Max, one that would hopefully, kinda sorta, explain why Max seeks the refuge the walls give him. For people that suffer from PTSD, and other mental illnesses, everyone finds their own way of coping with their struggles. I’m not in any way condoning what Canon Max did. I just wanted to try and a different, less creepy, softer side. Also, in this story, Max is not a rapist, nor is he a murderer. And...I wanted a happy ending for Max, so that’s what I gave him.
Word Count: 7,982 words.
Relationship(s): Max x Leigh Sullivan (OFC) [romantic]. 
Characters: Max. Leigh Sullivan (OFC). Maxwell Dean Sullivan (OMC). Chris Sullivan (OMC). 
Taglist: @negans-network @prettyboynegan @mychemicalimagines @spnnnxangelsx @rockinkel21 @misskittycat02 @band--psycho @ofxallxwexlost @iron-halt @thamberlinawrites @ravenwings73 @lettherebepink @stoneyggirl @sebs-padawan
_______________________________________________________________________
Story Time:
Leigh’s P.O.V. ~
It’s been two weeks since I moved to New York City to start my new job at the museum and try to get on with one of the numerous publishing houses for my next books. Two weeks of sleeping in a cheap hotel room. Two nights of frantically searching for a somewhat cheap apartment that would be big ‘nough.
Two weeks of missing having his little body snuggled up next to me. Two weeks worth of triple FaceTime calls to my brother back in San Deigo just to see his cute little face. Two weeks of missing my baby boy. Two weeks of missing my adopted, six-month-old son, Maxwell. Two weeks of being completely alone in a new place for the first time in years.
It’s been two days since I saw that flyer pinned up on the hospital bulletin board after passing out from dehydration. Two days since I went to that old building that’s close to the huge bridge stretching out over the river. Two days since I saw the fancy apartment still being renovated that was clearly well outta my price range.
Two days since I met him and saw that beautiful dimpled smile hiding under the construction mask. Two days since I felt my heart flutter for the time in nearly half a year. Two days since that deep, slower than molasses but sweeter than honey voice told me it was mine for only $3,800 a month, minus utilities. 
It’s been two hours since he, my new landlord left my apartment after sitting down to enjoy a dinner of takeout from the nearby Chinese restaurant once we’d finished moving my meager belongings in. Two hours since he and I opened up a little bit to each other, getting to know the other person. 
It’s been two hours and I still haven’t stopped smiling. 
Leaning back in my chair, I slide my iPhone outta the pocket of my men’s holey, Skinny Flex American Eagle dark blue jeans. Holding my thumb down on the button so it recognizes my thumbprint, I wait for it to unlock before I click on the FaceTime app and call my brother. I take a deep breath, relaxing, as I wait for him to answer. 
Only...he doesn’t. Instead of my slightly younger brother answering, I get the best thing that’s ever happened in my life. The moment I see my son’s face fill the screen, I tear up and smile. 
“Hey, baby boy! You playing with Uncle Chris’s phone?” I coo in a soft voice.
I don’t get an actual response, but that’s ok. My son Max is deaf. He was born that way and the doctors said it’d be a few more months before we could even try to get him fitted for hearing aids. The said it was a side effect from where his birth mother had been using hard drugs for 99% of the pregnancy, even though I tried to get her help.
Max makes a bunch of soft, cooing noises as he holds the phone close. I realize that he hasn’t noticed that I’m the phone yet. Especially once I see his gums get closer to the camera. I laugh, knowing he’s trying to gnaw on the rounded corner of my brother’s iPhone. Hearing movement on the other end, I watch as the phone jostles, and a loud thunk echos to my end. 
A moment later, two small, chubby hands grasp the phone and my son’s face fills the screen once more. I watch as his eyes widen and he lets out a high pitch squeal, giggling, and it doesn’t take a rocket scientist to know that Max has finally noticed that I’m on the phone. Smiling, I wave to him and blow him kisses.
It just makes him squeal more, louder, and happier. I giggle and happily listens to his giggles, squeals, and babbles. After nearly 15 minutes of listening to him, and slouching in my chair, the phone jostles once more and I hear Max let out a whine and hear him sniffling, knowing his ‘bout to start crying. 
A second later, my brother’s face fills my phone’s screen and his eyes widen too, making him chuckle.
“Hey, sis. Sorry. Didn’t realize you were on the phone. I guess Max got ahold of mine when I went to fix him a bottle and a small jar of that mushy baby food you picked up for him before you left.” He says.
I smile. “Nah. Max didn’t call me. I called. He answered. Took him a hot minute to realize I was on the phone. Then he started telling me ‘bout the stuff y’all did today. Sounds like a productive day.”
Chris laughs and I watch as he gets settled on the couch in his apartment, holding my son in his lap, keeping him to where he can still see me on the phone.
“Oh yeah.” He chuckles. “Real productive. 3 naps, 6 poopy diapers, and a few bottles.” 
I giggle. “Sounds like it.”
He chuckles more and shakes his head. “Anyway. How’s the city? D’you switch motel rooms? That don’t look like the one you’ve been staying in.”
I grin from ear to ear. “That’s actually why I called you. I found a place. By the river and train tracks.”
“Yea? That’s great! You all moved in?”
“For the most part. All that’s missing is little man. Oh. And the actual furniture. I was thinking...think you and Max could be out here tomorrow?”
“Uh...yea. I still got 3 more weeks’ worth of vacation time saved up at work. Give me a sec to pull up flights and shit.”
I smile and nod, waiting as Chris sets his phone down. After listening to some shuffling and the protests of my son, my brother and my son’s faces are visible once more. I help guide my brother through the process of looking for, booking, and getting two cheap plane tickets. I tell him my card info so he can type it in.
“Alright, sis. It looks like we’ll be flying out ‘round noon our time. And, after a 5 and a half flight, we should be to the city by dinnertime. How’s that?” Chris double checks.
“Sounds fuckin’ good to me! I can’t wait. I’ll meet y’all there!” I grin and cover my mouth as I yawn.
Chris chuckles. “Good. Looks like you need to get to bed. It’s what, 11 there?”
I nod. “Yea...I think so. It’s been a long day.”
“I can tell. Well, get some sleep. We’ll be there tomorrow.”
“I can’t wait to see y’all. It’s been a long two weeks.”
“I bet. I honestly don’t see how you’ve been a single mom for the last 6 months. I’ve been watching this little monster for 2 weeks and I swear, I’m never having my own kids.”
I laugh. “Shut up! He’s not that bad. He just misses his mommy. And, you never wanted your own kids. You’ve always been too scared. Couldn’t even sit down if there was a kid in the room.”
“Hey! I just didn’t want to risk accidentally sitting on them and squishing them!” 
I giggle as my brother grins. “I know, bro. I’m just giving you shit.”
“Yea. Just like your son’s been doing all day.”
I laugh, yawning again. “Shouldn’t have given him the sweet potato mush. I warned you.”
He rolls his eyes, chuckling. “Whatever.”
“I am proud of you, bro. You’ve done so well with him, and I appreciate everything you’ve done to help me. I know it’s been a long couple of months, not just the two weeks I’ve been out here.”
“I just wanna see you happy again, sis, and I’m always here for you. That’s why I’m more than willing to help you.”
“I know. And it means the world. Give him kisses for me and tap his little tummy twice to tell him I love him?”
Chris smiles. “I will. Be careful, yeah? We’ll see you tomorrow.”
“I’ll try. Love you.”
“Yea. Ok. I know.”
He grins and waves, getting Max to copy him as he hangs up the call. I smile to myself. My brother’s never been one to say “I love you” to someone. He’s been like that since we were little when he was 5 and I was 6. So, I don’t take it personally when he just responds as he does. I know he still loves me. 
He’s been there for me, just like I’ve always been there for him. After my last relationship hit the fan and I caught my fiancé cheating on me with a man and said she no longer felt like being a mom in a same-sex relationship, just a few weeks before Max was born and we were supposed to gain custody of him, Chris offered to let me move in with him once Max was born. 
So, that’s what we did. Max and I left Kentucky where I’d been living all through and well after college and moved to San Diego to live with my brother. The 5.5 months we were there, I looked ‘round for a job that I could use my history degree in, while also working on my last novel. After getting an offer from a museum in New York, I broke the news to Chris that Max and I would be moving to the city.
He’d been shocked at first since we were both from a small town in the mountains of Western North Carolina, and I’d sworn I’d never live in a big city. ‘Specially one in the North since it got too cold in the winter and I’d always been made fun of for my strong Southern accent. I’d explained to him that I had to do what was best for Max, that I had a son to think ‘bout now.
He’d understood after that and was willing to watch Max while I traveled back across the country to a new place, to look for a good living arrangement, and get settled in for my new job. He told me that once I got settled, he’d bring Max out and then help me get all moved in and everything. Which is what led us to tonight. 
After hanging up with my brother and my son, I plug my phone up, set a few alarms, and curl up in the chair to try and get some sleep, knowing that tomorrow’s gonna be an even bigger day. All while never knowing that I was being watched by landlord peeking through a strategically placed and well-hidden hole in the wall.
When I wake up the morning, well early afternoon really, groaning and blindly reaching out for my phone to shut up the annoying alarms, I stretch and rub my eyes. I’m definitely not a morning person, and usually, get my best work done between the hours of 1 and 7 am. It’s been great since Max still hasn’t picked up on the whole sleeping through the night thing.
I finally push myself up outta the chair, my joints protesting the clearly uncomfortable position I just spent the last six hours in while curled up. Making my way to the kitchen, I get a pot of coffee going before padding back across the apartment to the bedroom and bathroom. I shoot my brother a text, letting him know that I’ll still pick him and Max up from the airport. 
After my shower, and downing the entire pot of coffee, I put some music on as I start to plan how I want the apartment set up and start looking up furniture stores on my phone, even ordering a few things online to be delivered in a couple of days.. I get lost in my search, that it takes me several long minutes to notice someone’s knocking on my door. 
Clicking my phone off, I tuck it in my pocket and make way to the door, opening it to find my landlord.
 He and I talk for a few minutes until I suddenly realize the time.
“Oh shit! I gotta go!” 
Max, my landlord, raises a brow. “Hot date tonight?”
I smile. “You could say that. I gotta go pick the love of my life up from the airport.”
I watch as Max’s face falls and he gets a sad look in his eye. 
“I thought you were single?” He asks. 
Scrambling to put my boots on, I reply to him. “I am. But, I still gotta pick him up.”
“Oh. Well, alright then.”
I look at him as I grab my drawstring bag that I use instead of a purse and put it on my back. 
“I’ll be back soon. If you wanna come over, I’d love to introduce you. You’ll see him ‘round a lot.” I say, grabbing my key.
“Um. Maybe. I know I’ll be busy with the renovations in the other apartments. I just thought I’d stop by and check on you, see how you settling in.”
I smile and gently place my hand on his shoulder, trying my best to ignore the rush of excitement that courses through my body at the touch. My landlord is not only smoking hot, but he’s also well built and I can feel his muscles under my hand.
“Thank you, Max. I greatly appreciate it.” I say.
He just nods and stares at my hand for a moment. 
“Oh...sorry.” I apologize, dropping my hand, quickly remembering how shy he is. “I’ll...uh...see you later, maybe? I’d really love for you to meet him. He’s a sweetheart.”
He shrugs and rubs the back of his neck. “We’ll see how the renovations go.”
“Sounds good! Don’t work too hard!”
“I am working too hard!”
I giggle, playfully smacking his shoulder. 
“Don’t do it.” I giggle.
I quickly leave after locking my door and hurry downstairs, hailing a cab and head to the airport. Thankfully, there doesn’t seem to be too much traffic, which surprises me since the first I noticed when I got to the city was all the traffic. When I get there, I realize I’m still a few minutes early, so I make my way over to the gates to wait. 
Nearly half an hour later, I spot my brother, holding my son, carrying only the diaper bag and a small book bag, and rush over. As soon as I reach them, I happily take my little boy in my arms, peppering his chubby little cheeks with kisses, which has him squealing happily and patting my head. I giggle and tilt my head back to look at him, despite the happy tears rolling down my cheeks.
Tapping my finger against his belly twice like I’ve done since the moment I first held him and the moment the docs told me he was deaf, I let my son know I love him. He giggles and curls his fingers ‘round mine, holding it tight. I lift my shoulder, turning my head in an attempt to wipe my tears away. Once I’ve done that, I look up at my 6’2” tall brother, grinning from ear to ear.
He just smiles and pulls me in for a hug. I lean against him since my arms are full from where I’m holding Max. Laying my head against Chris’ chest, I smile. He just hugs me a little tighter, but not too much ‘cause of Max.
“Missed you, sis.” He says.
“I fuckin’ missed you too, bro.” I reply. 
He laughs and lets go of me, looking at me. “You look happy.”
“I am now! I’ve got my little boy in my arms, and you’re here. But, I’m sure you’re hungry?”
“Always am!”
I laugh. “C’mon. Let’s go get some food and head to my place. You’re really gonna love it!”
He chuckles and follows as I carry a giggling and snuggly Max outta the airport. I look up Chris. 
“You’re taller. Hail a cab.” I say.
He raises a brow. “How?”
I giggle and tell him since it’s the time he’s ever had to do it. Growing up in our small town, we didn’t have taxis, and then when he moved to San Diego during my senior year of college, he already had his own car, so he didn’t have to worry ‘bout taxis out there. It doesn’t take long before one comes to a stop in front of us.
Piling in, I give the driver my new address, and we set off towards home. Well, my home. Chris and I spend the time talking while I just hold Max close, patting his butt. Right as the driver makes it to the apartment building, the air suddenly smells shitty. I know Max has pooped himself, and I soothe him before he can start crying and apologizing to the driver, giving him a decent tip.
Ushering Chris out the cab, so I can get out with Max, I shift my son in my arms. 
“Don’t worry, baby boy. Mama’s gonna get you upstairs, and get you all cleaned up!” I coo, softly, my lips near his ear so that he can feel the vibrations of my voice as I talk.
Max settles down a little as he sniffles, clinging to my shirt. I kiss his head and led the way inside and up to my apartment. Shifting him once more, I dig my key out, unlock the door, and step in with Chris right behind me. 
“Let me get him changed. Feel free to look around. There’s not much, but we’ll fix that tomorrow.” I say.
Chris nods and drapes the strap of the diaper bag over my shoulder. I carry Max into the bathroom and set him on the tiled floor. I keep him distracted while I change his diaper, and tap his tummy twice after buttoning his onesie and slipping his little shorts back on. He lets out a giggle, holding his hands up.
Giggling myself, I scoop him back up in my arms, tossing the dirty diaper in the small trash can as I walk out. 
***
Over the next couple of weeks, Chris helps me move furniture in, get the apartment set up, takes turns with caring for Max, and even teaching me some of the new recipes he’s picked up. He’s come along way, considering that the kid used to burn cereal when he tried to make himself some when we were kids.
We take a few days, once the apartment’s set up, to explore the city. I haven’t done much sight-seeing myself since I arrived. It was mainly ‘cause I was too busy trying to find a place and everything. A few times, I spot my landlord while we’re out and about, and I try to wave him over so he can meet my son and my brother.
Especially since he never showed up the night Chris arrived. I’d been really excited to introduce them. I couldn’t explain why, other than the fact that I wanted Max to meet my son and my brother. Yet, Max never comes over. He always pulls his phone out when our eyes meet and presumably takes a call, walking in the opposite direction.
Two and a half weeks after Chris arrives in New York, Max and I take him to the airport to catch his flight back to San Diego. We stay with him till it’s time for his plane to be boarded. As he hands his ticket over, he assures him he’ll text me when he lands in California and when he gets home. I give him one last hug and lift Max’s hand in a wave.
***
After Chris leaves, Max and I settled into our normal routine. I wake up shortly after he does, get him changed and dressed for the day, and then lay him down on the living room floor for tummy time while I get to work. The position I have at the museum allows me to work from home, occasionally going in once or twice a week, with Max, to take care of some things there.
When I’m not working for the museum, I’m attempting to work on my novel. After I get done with work, I feed Max and me, before we settle on the couch with a Disney movie or one of the three Despicable Me movies playing for naptime. Even if Max can’t hear, he still loves watching the screen, giggling. 
He absolutely loves the minions and squeals every time he sees them on the screen. After naptime, he and I lay on the floor for more tummy time while I try to teach him the sign language I’ve been learning. My baby brother, Eli, was also born with hearing issues, so thankfully I knew some when he was growing up, but I’ve also been teaching myself more since I found out Max was deaf.
At the end of the day, and getting some more work done, along with dinner, I give Max his bath. He’s always loved bath time, except for the few times water lands in his ears. Since it’s his favorite, I give him one every day, which doesn’t put too much strain on the water bill ‘cause Max’s baby bath is small and doesn’t take a lot of water.
When bedtime rolls ‘round, I curl up on my new bed with Max cuddled to my chest with my shirt tightly gripped in one hand and his shark blankie in the other. I rub his back and hum softly so he can feel the vibrations from it as he drifts off to sleep. We keep the routine up for the next month a half. During this time, I never talk to my landlord, not even when I go to give him the rent.
I mean, yeah, I’ll see him occasionally ‘round the building, but he doesn’t say a word. He just looks at me for a moment, before dropping his head and walking away. It breaks my heart ‘cause I want to talk to him. We had so much fun talking and goofing off the night he helped me move in. But, since that day I had to rush off to the airport, we haven’t spoken.
I just resigned myself to knowing that he obviously thinks we’re nothing more than landlord and tenant. Which, honestly, make me sad ‘cause I thought we’d have become friends. He was the first person that was actually nice to me after I moved to the city. I also tuck down the feelings of the crush on him I have.
He reminds me a lot of Papa Winchester from my favorite tv show, Supernatural, and I’ve always had the hots for the oldest Winchester. Even my ex-fiancé knew that, and she agreed. See, we’re both bisexual, but I’d always thought she was the one. Until I caught her in bed, our bed, with a man, and she’d told me what she did.
The six months after we broke up were the hardest, ‘cause I’d been ready to marry her. But it didn’t work out. And after I’d moved to New York, met my landlord Max, and realized I’d had a crush on him, I was starting to come to terms with maybe moving on. Getting back out there. I mean, I knew there’d probably be nothing more than a friendship with my landlord, but I was ok with that.
But, I don’t even have that anymore. I sigh to myself, urging my thoughts to go down a different road, as I pull the clothes out the dryer. Just as I finish pulling the last few clothes outta the dryer, I hear whimpering. I listen for a moment to try and figure out where the sound’s coming from so I can go get my son.
After a moment, and the realization that the sound of whimpers is coming from the falls, I try to tone down the feeling of panic that’s quickly spreading through my body. Max started crawling shortly after we moved here, and I know he’s been exploring the apartment. I just hope he hasn’t gotten himself stuck somewhere. 
I quickly leave the clothes on the dryer and walk further into the apartment, closer to the sound of the whimpers.
“Max? Honey? Don’t worry, ok? Mama’s coming to get you.”
I call out, without thinking ‘bout the fact that my son’s deaf. I call the words out based on instinct and the need to assure my son that he’s gonna be ok. I follow the noise, getting closer to the kitchen and my eyes widen. Did I forget to put the baby gate up so he couldn’t get in there? When I reach the kitchen and realize that I did indeed forget to put the baby gate, my heart drops to my stomach.
“Fuck!”
I step into the pantry where the sounds of the whimpers are louder and look ‘round. I don’t see my son anywhere. Then I hear the whimpers again and realize that they’re coming from the other side of the wall. I gently push against the right wall, to give myself leverage, as I keep looking, thinking there’s no way that the whimpers are coming from the walls.
My eyes widen as the wall shifts a little with my touch, and they nearly pop outta their sockets when I realize the wall isn’t just a wall. It’s a door that’s already slightly open. My heart starts beating faster as I realize that there’s a slight chance that Max could’ve crawled in here, and through the small opening.
I take in a shaky breath as I push the door open enough for my small frame to fit through. Once I’m through, I notice two things from the get-go. One, the whimpers get louder. Two, the door leads to what looks like an old set of maintenance hallways. I know older buildings used to have them, so it makes sense that this building would have ‘em too.
I just never really put the thought into asking or caring if the building had them. I make my way deeper into the hidden hallways, being careful not to trip or hit my head on anything. Keeping my eyes peeled for my son, I get closer to the sound of the whimpers until I finally reach the source. My eyes widen when I see who’s making the sounds.
“Max?” I ask, softly, getting closer.
My landlord doesn’t even look up as he flinches at the sound of my voice. He just whimpers and bites harder into his wrist. 
My heart breaks and I crouch down next to him, gently taking his hand and pulling his wrist from the tight grip his teeth have on it.
“Max? Honey, it’s ok. You’re safe.” I murmur.
He whimpers a little more and hides his face. I immediately realize what’s going on. He’s having a panic attack, and it looks to be a bad one. Rubbing my thumb across his knuckles, I lean closer to him, gently wrapping my arms ‘round the slightly older man, and pull him close to me. I reach a hand up and run my fingers through his hair, softly and silently convincing him to lay his head on my chest.
I soothe him, calm him, and help him relax ‘nough that he slowly eases outta the panic attack. Not stopping my fingers as they continue to run through his hair, I start humming softly. I know panic attacks are one of the worst things to go through. Especially all alone. It takes several minutes, but I eventually feel Max relax, sagging against me as the panic attack leaves him.
Even though he’s outta it, I continue to run my fingers through his dark curls. 
“Better?” I ask softly.
He nods, just a quick, subtle little jerk of his head against my chest, but it’s still a nod. 
“Will you come back to my apartment with me? I wanna take a look at your arm. You bit down on it pretty hard.” I explain after he looks at me with uncertainty swirling in his muddy water brown eyes.
He takes a deep breath but nods again. I smile.
“That’s a good boy. C’mon. We’ll get you all fixed up.” I say, not sounding patronizing, but rather motherly.
I smile to myself as a light blush covers his cheeks at my words. I gently pat his shoulder before we stand up. As I lead him back through the maintenance hallways to the door that leads into my pantry, I notice other little holes in the wall, discreetly checking them out. When I realize they show off different points of my apartment, I raise a brow but don’t say a word.
After peeking through one of the holes, I see Max, my son, sleeping peacefully in his little playpen and let out a soft breath of relief, remembering that I’d laid him in there when I went to do laundry. I hold my landlord’s hand the entire time we walk through the hallways if nothing more than to keep him calm.
When Max and I get to the door leading to the pantry, he suddenly stops, jerking me to a stop too since I wasn’t expecting it and had been leading him by the hand. I turn ‘round and look at him.
“What’s wrong?” I ask, confused.
“The love of your life? Where’s he at?” He asks after, nervously, after a moment.
I smile. “He’s sleeping, in the other room. It’s ok.”
I watch as more hesitation and uncertainty fill Max’s eyes. I give his hand a gentle squeeze. 
“Hey. It’s ok. He won’t mind you being in there. He gets a bit protective over me, but I just know he’s gonna love you.” I assure him.
“I...I don’t think so...guys typically don’t like me. Neither do girls. I’m a loner.” He mumbles, looking at his feet while flicking his thumb against his finger on his other hand.
“Max?”
He lifts his head, looking at me. “Hmm?”
“Trust me. He’s gonna love you.”
He shrugs. “Nah. He won’t. ‘Specially not since he has you.”
“Hey. Stop doubting yourself, ok? He’s gonna love you ‘cause I like you.”
“You...you like me?”
I smile and nod. “I do. And you’d know that if you hadn’t been avoiding me since I had to leave so quickly to get to the airport.”
A small smile tugs on his lips. “You’ve been busy.”
“I’m never too busy for you, Max. Now, c’mon. Let’s get your wrist all cleaned up, then you meet the person who stole my heart with just one look. And, he’s gonna steal yours too.”
I giggle and gently squeeze his hand as he looks nervous. I lead him into my apartment from the pantry, and into the living room. 
“Have a seat on the couch, ok? I’m just gonna go grab the first aid kit. Don’t try and leave. I’ll follow you and kick your door down if you do.” I playfully threaten. “I don’t mess around with first aid.”
Thankfully, it gets a chuckle outta him and he takes a seat on the couch, holding his hands up in surrender. I grin and head to my bathroom to grab the first aid kit. Walking back through my bathroom, I stop by the playpen, lean down and kiss my son’s head, covering him up more with his shark blankie.
Watching him for a moment, I smile to myself and head back to the living room. Max is still in the same spot he was when I left him a moment ago, but this time, he has his hands on his lap as he picks at the bite mark on his wrist. I gently slap his hand away. 
“Stop that, mister. You’ll do more damage than what you’ve already done.” I say, kneeling on the floor in front of him, between his knees. 
He raises a brow and mutters a quiet, “I’m sorry.”
“Good boy. Now hold your hand out so I can look at it.”
He blushes a little but does as I ask. Gently taking his arm in my grasp, I inspect the self-inflicted bite mark on his wrist. After cleaning it with some alcohol wipes and putting Neosporin on it, I gently wrap some gauze ‘round his wrist and tape it so it stays in place. Without thinking ‘bout it, I place a gentle kiss on over the wrapped wound.
It’s outta habit that I do it since I do it whenever my son gets a boo-boo. I hear Max suck in a deep breath and my eyes jerk up to meet his. His bottom lip is captured between his impossibly white teeth and his cheeks are a shade pinker than they were before.
“I...I’m sorry. It’s outta habit that I do that.” I mutter, trying to explain as quickly as I can.
“I...it’s fine. I’ve just never had anyone do that before.” He mumbles.
I raise a brow. “Your mama never kissed your boo-boos?”
His eyes get that sad, lost look in his eyes. He pulls his arm outta my grasp and, not answering, he walks over to the window. I sit back on my ankles, packing the first aid kid up. 
“Max...I’m sorry. I didn’t...you don’t have to talk ‘bout it.” I say quietly.
He just sighs and stares out the window, not saying a word. 
“My…” He starts, still staring out the window. “My parents died when I was 10. My grandfather, August, he’s the one who raised me.”
I stand and gently pad over to him. “I’m so sorry, Max. I didn’t know. I didn’t think before I asked that.”
He glances at me then looks back out the window. Without thinking, and just doing it, I wrap my arms ‘round his waist and lay my head against his chest. He tenses up immediately at my touch.
“What...what are you doing?” He asks.
I tilt my head back to look up at him. “It’s called a hug. It’s supposed to be comforting. I can stop if it makes you too uncomfortable.”
I watch as his facial expression changes with several different emotions before a smile finally settles on his lips.
“Nah. It’s not too uncomfortable. I’m just not used to this.” He says after a few moments. 
“This?” I ask.
He nods. “Hugs. I can’t even remember the last time I had one.”
I tighten my arms ‘round him and lay my head back on his chest. I feel his arms slowly make their way ‘round me, loosely holding me close, and I smile. 
“Whenever you want one, just come to me and I’ll happily give you one.” I say. “I’m not really much of a hugger, but with you, it just feels right, so you can have a hug whenever.”
“Really?” He asks.
I nod against his chest. “Mmhhmm.”
“Thanks...but...what ‘bout...the love of your life? Is he ok with you giving random men hugs?”
I giggle and look up at him. “You’re not a random man, but yes. He’d be ok with me giving you hugs. He loves them, so he’ll probably try and give you one too.”
“Um…” He hesitates, slowly dropping his arms. “I dunno how I feel ‘bout your man giving me hugs.”
I giggle. “You’ll change your mind when you meet him.”
“I dunno.”
“I do! Stay here. I’ll bring him out to you.”
“Ummm…”
I giggle and lean up to kiss his cheek. “Just wait here.”
He swallows deeply, making his Adam’s apple bob up and down. “Ok.”
“Good boy.”
I giggle and leave him in the living as I walk into the other room where I know my son is. Reaching into the playpen, I scoop him up, making him giggle. I heard him cooing to himself a few moments ago, so that’s how I knew he was awake. I kiss his cheeks and gently tap his tummy twice. He makes a happy noise and snuggles to me.
I smile and hold him close as I walk back out to the living room. Max is looking out the window again, this time, though, he’s got his arms wrapped ‘round his torso, almost like he’s giving himself a hug. I giggle softly and make my way over to him.
“Max?”
He lifts his head and turns his gaze from the river to me. His eyes widen as he sees my son in my arms. Shock, confusion, and another emotion flash across his face. 
“Who? Who’s that?” He asks.
“Max, this is the love of my life. My son.” I say, grinning from ear to ear.
“Your son? Love of your life?”
I giggle and nod. “Mmhhmm. I adopted him when he was born. I can’t have kids myself, and my ex-fiancé and I had talked ‘bout adopting. So, we decided to do it. Found out that this little guy’s mama was putting him up for adoption before he was even born. Then, just before he was born, my ex-fiancé and I split. I still adopted this little monkey and it’s just been he and I against the world since.”
“But...that man...who was here...was that your former fiancé?”
I giggle and shake my head. “No! That was my oldest younger brother, Chris. He’d been watching Max for me while I got settled in the city. After I moved in here, I called him, and he brought my son out here and helped me get furniture and whatnot. I really wanted you to meet him while he was here...but you kept getting phone calls…”
“Your brother?” 
I smile and nod. “He’s the oldest of my two brothers, and I’m the oldest of all the kids.”
“Oh…”
I giggle. “Yea.”
“Those phone calls...they weren’t actually phone calls.”
I raise a brow. “You mean to tell me you faked ‘em just so you wouldn’t have to come over?”
He looks down, nodding. “You just seemed so happy with him. I thought y’all were together and that the kid was y’all’s. It…” He shakes his head, cutting off the rest of his sentence.
“Max, I wasn’t lying when I told you I was single the first night I spent here. But I also didn’t tell you that there is a guy I like.”
“Oh...well...I don’t wanna meet him…”
I giggle. “Too late. You already have.”
He frowns. “I have?”
Nodding, I grin and take his hand. “C’mon. I’ll show you who he is.”
“I don’t wanna…”
“Tooooo bad, mister.” 
I giggle and lead him to the bathroom, standing him in front of the mirror as I stand next to him, holding my son.
“I thought you were showing me someone I don’t wanna see.” He says, his voice quiet.
“I am. Tell me who you see.” I say, grinning.
“Me. I see me, you, and your son.” 
“Exactly. So, you see the guy I have a crush on.”
“Isn’t that a little weird to have a crush on your son?”
I giggle. “Yea. So, it’s a good thing he’s not who I have crush on.”
His brows furrow in confusion and I giggle and gently turn him to face me.
“You’re adorable.” I say.
“How?” He asks, confused even more. 
“You’re just not getting it, are you?”
He shakes his head. “No?”
“Max, you’re the guy I like.”
“Me?”
Nodding, I smile. “You.”
I watch as he gets the cutest, dimpled smile on his face, making me giggle more. He blushes and ducks his head down for a moment before looking at me.
“You really like me?” He asks, softly.
“Mmhhmm. I do. I just thought you didn’t like me since you kept ignoring me.” I say.
“I was just trying to distance myself...I thought you were with that guy, who’s actually your brother...I thought he was your ex-fiancé that you’d mentioned that first night...that you’d taken him back.”
I giggle. “Oh, Max. My ex-fiancé was a woman. Who cheated on me with a man. In our own bed.”
His eyes widen. “You were with a girl? But...you like me?”
“I’m what you’d call bisexual. I play for both teams. I like guys and girls.”
“Oh!” He lets out a soft chuckle. “So...what’s this mean? For us?”
I giggle. “It means, that I’d like to date you. If you want that.”
He grins, making his dimples show more. “I’d...I’d like that.”
“Me too! We just have to get someone’s permission first.”
“Permission? From?”
I smile and turn my son ‘round to face him. “Max here has to approve first. I have to think of him now, especially when it comes to relationships.”
Max nods and looks at my son, then back at me. “Wait. His name’s Max?”
I smile. “Maxwell Dean Sullivan. Sometimes, though, I’ll call him Deaf.” (Deef.)
“Why?”
“Oh. He’s deaf.”
“Oh!”
I smile and nod then look down at my son as he wiggles in my arms, reaching out for Max. I giggle and gently hold him out, waiting for him to take him. Max gently, and somewhat nervously, takes my little boy, and cradles him.
“Awww! You’re like a pro!” I grin.
“I’m not gonna lie. I’m scared shitless. He’s so small.” He whispers.
I giggle. “You’re also really big. Max and I are both small compared to you. And you help me close and gently.”
This gets a soft chuckle from my landlord and he visibly relaxes, shifting Max so he’s a little more comfortable. My son giggles and reaches up, patting Max’s cheeks, squealing at the feeling of the short beard tickling his tiny palms. I smile and lean against the mirror, watching them. 
“I think Deaf likes you.” I say.
“Yea? You really think so?” Max looks up and he visibly tenses as he soon as he sees me leaning against the mirror. “Don’t lean against that. Please.”
I raise a brow, but step away from the mirror. “Why not?”
“I don’t want you to get hurt.”
“I won’t, Max. It seems like a sturdy mirror. Plus, the wall behind it keeps it up.”
He lowers his gaze and hands my son back to me, much to my son’s protests and my own confusion. 
“I...I should go...just please don’t lean against the mirror.” Max says quietly and turns to leave.
I reach a hand out and curl my fingers ‘round his upper arm. 
“Hey. Stop. You don’t have to go.” I say.
He nods. “I do. There’s stuff you don’t know ‘bout me...I’m not a good man…”
I raise a brow. “Max. Aside from ignoring me for the last several weeks, we’ve still been good to me. You are a good man. I know you are.”
He shakes his head. “I’m not. I’ve done things I’m not proud of, but can’t help.”
A thought hits me and I look up at him. “You mean the holes in the walls? That allows someone to peep through into my apartment?”
His face pales and I get my answer. I reach up and cup his cheek. 
“Max. It’s ok. I saw him when I was leading you back to my place to fix your wrist. The walls...they’re your safe place, aren’t they?” I ask, softly.
“It’s quiet in there. I like the silence.” He mumbles, closing his eyes. “I can watch...and it calms me.”
“Have you watched me?”
He swallows deeply. “I tried not to...but I…”
“Shhh. It’s ok, Max. I’m not mad.”
“You’re not?”
“No. I’m not. Some might think it’s creepy, but in a way, it’s like you’re watching over, protecting me. Me and Deaf.”
“I...I didn’t think of that.”
I smile and tuck a strand of his hair behind his ear. “It helps you stay calm, watching me?”
He nods. “I can’t hear the voices…”
“What voices?”
“The ones telling me…” He shudders.
“Breathe, Max. It’s ok. What do they tell you?”
“That I’m a coward. A pervert. A creep.” 
His reply is so quiet I almost don’t hear it. But I do. I place my palm back against his cheek.
“Is that why you bit your wrist earlier?” I ask softly.
He nods. “To make them shut up.”
“Well, you don’t have to do it alone anymore, ok? I’ll tell those voices to shut up too.”
He opens his eyes and looks at me, unsure. 
“I will.” I assure him.
“But...why?” His child-like voice breaks my heart.
“Because, they’re lying to you, Max. The things they tell you, they’re not true. You’re not a creep. Not a pervert. And you are definitely not a coward.”
“But...I am.”
“No, Max. You’re not. You’re not any of those. You’re just a man who needs someone to show him what it’s like to be loved. You didn’t have a good childhood. Losing your parents, and having your grandfather raise you. But you survived. You grew up. You coped with everything thrown your way in the ways that you knew how. You’re a survivor, Max. And, that alone makes you the furthest thing from being a creep and a coward. As for being a pervert, I don’t think you’re that either.”
He doesn’t say a word, but he leans into my touch more.
“How do you know?” He asks after a few minutes.
“I know, because I can tell you’re not. Believe me, I grew up ‘round ‘nough perverts to know that’s not you. You’re nothing like them. That’s how I know.” I whisper.
“You still like me?” He lifts his eyes to meet mine.
“I do, Max. And, I’m gonna show you what it’s like to be loved. We’ll get there. And Deaf here, this little boy in my arms, he’ll show you too. I told you he’d love you when he met you.”
“He does?”
I smile and nod. “He doesn’t reach out to just anyone. It took him months just to go to my brother. But it took him maybe 5 minutes to go to you. And, kids are usually really good judges of character. Just like dogs. So, I can assure you he doesn’t think you’re anything like what the voices tell you.”
He nods slowly and looks down at the little boy in my arms. 
“He is cute.” He mumbles.
I giggle. “Damn right he is! He’s my son.”
Max chuckles softly. “That’s true. But...you’re not cute.”
I raise a brow and look at him. “That’s not exactly the best thing to say to your new girlfriend.”
He grins. “Girlfriend? I like the sound of that...but you’re not cute. You’re beautiful.”
I blush. “So are you. Ain’t you can’t argue with me. The girlfriend’s always right.”
He laughs softly. “Is that so?”
“Mmhhmm! Now. I believe there’s a little boy who wants to be held by you.”
He smiles and kisses my palm before standing up straight and gently taking Max from my arms, holding him close. 
“As for the mirror, Max. We’ll just board up the other side.” I say, getting the picture, from his reaction, that it’s one of those mirrors like police station interrogation rooms have. “And, you won’t have to go back into the tunnels anymore. You have me and Max now. We’ll be here for you.”
He swallows deeply and nods. “Promise?”
“I promise promise, Max. But, know that if you ever cheat on me, I’ll cut your dick and balls off.”
His eyes widen as he nods. “I...I wouldn’t do that to you.” 
I smile. “Good. And I wouldn’t do it to you either.”
He lets out a breath of relief. “So...does this mean...that I have a family?”
I smile. “Yes, Max. It does. We’re your family now, and you’re our family.”
27 notes · View notes
musette22 · 4 years
Note
Evanstan Headcannon - The pictures of Dodger that Chris posted in Valentines Day was taken by Seb. Chris still has an older iPhone and Seb has the newer ones with the portrait mode that blurs the background. It happened and no one can tell me otherwise. K thanx bye.
You know, I’ve seen some people be like ‘if Chris has an older iPhone and this pic is from an 11 then maybe his secret gf took it!!’ and I was just like 🙄 such a reach. But then you propose this headcanon and I’m just here nodding my head like, yep, of course, that makes perfect sense 😂 Ah well 🤷🏻‍♀️ It’s a great headcanon in any case, thank you!!
37 notes · View notes
dorothydelgadillo · 6 years
Text
WWDC 2018 Diary Of An iOS Developer
WWDC 2018 Diary Of An iOS Developer
Lou Franco
2018-06-14T13:45:32+02:002018-06-14T12:11:29+00:00
The traditional boundaries of summer in the US are Memorial and Labor Day, but iOS developers mark the summer by WWDC and the iPhone release. Even though the weather is cool and rainy this week in NYC, I’m in a summer mood and looking forward to the renewal that summer and WWDC promise.
Tumblr media
WWDC (Image source) (Large preview)
It’s the morning of June 4th, and I’m reviewing my notes from WWDC 2017. Last year, I wrote that ARKit and Core ML were two of the big highlights. It was refreshing to see Apple focus on Machine Learning (ML), but there wasn’t much follow up in the rest of 2017. ARKit has spawned some interest, but no killer app (perhaps Pokemon Go, but that was popular before ARKit). Apple did not add to its initial library of Core ML downloadable models after the Core ML announcement.
Apple did release Turi Create and Lobe released a new interesting Core ML model maker last month. In the Apple/ML space, Swift creator, Chris Lattner, is taking a different approach with Swift for TensorFlow. But from the outside, Core ML seems mostly to have one obvious use: image classification. There doesn’t seem to be a lot of energy around exploring wildly different applications (even though we all know the ML is at the core of self-driving cars and whiz-bang demos like Google Duplex).
What if there was a web conference without... slides? Meet SmashingConf Toronto 2018 🇨🇦 with live sessions exploring how experts work behind the scenes. Dan Mall, Lea Verou, Sara Soueidan, Seb Lee-Delisle and many others. June 26–27. With everything from live designing to live performance audits.
Check the speakers →
Another way Apple uses ML is in Siri, and earlier this year, I wrote about SiriKit and mentioned its perceived and real deficiencies when compared to Alexa and Google. One issue I explored was how Siri’s emphasis on pre-defined intents limits its range but hasn’t produced the promised accuracy that you might get from a bounded focus.
The introduction of HomePod last year only highlighted Siri’s woes, and a widely reported customer satisfaction survey showed 98% satisfaction with iPhone X but only a 20% satisfaction with Siri.
With all of this in the back of my mind, I personally was hoping to hear that Apple was going to make some major improvements in AR, ML, and Siri. Specifically, as an iOS developer, I wanted to see many more Core ML models, spanning more than just image classification and more help in making models. For Siri, I wanted to see many more intents and possibly some indication that intents would be a thing that would be added year round. It was a long-shot, but for AR, the next step is a device. But in the meantime, I hoped for increased spatial accuracy.
Finally, I love Xcode Playgrounds and iPad Playground books, but they need to to be a lot faster and stable, so I was hoping for something there too.
On the morning of WWDC, I tweeted this:
Tumblr media
My tweet describing what I was hoping for from WWDC 2018 (Large preview)
This wasn’t a prediction. It’s just a list of things I wanted to use in 2017 but found them underpowered or too hard for me to get started with, and was hoping Apple would make some improvements.
My plan for the day is to watch the keynote live, and then to watch the Platforms State of the Union. Those give a good overview of what to concentrate on for the rest of the week.
End Of Day 1: The Keynote And Platforms State Of The Union
The first day of WWDC is the keynote, which is meant for public consumption, and the Platforms State of the Union, which is an overview of the entire event, with some details for developers so that they can choose which sessions to attend.
Summary Of Notable, Non-iOS Developer Announcements
WWDC is not entirely about iOS development, so here’s a quick list of other things that happened to the other platforms or that are not very developer focused.
To get it out of the way, there were no hardware announcements at all. No previews and no updates on the Mac Pro. We’ll have to wait for the iPhone and follow-on events in the fall.
iOS 12 has a new Shortcuts app that seems to be the result of their acquisition of Workflow. It’s a way to “script” a series of steps via drag and drop. You can also assign the shortcut to a Siri keyword, which I’ll be covering below.
iOS will automatically group notifications that are from the same app and let you act on them as a group.
Animojis can now mimic you sticking out your tongue, and the new Memojis are highly configurable human faces that you can customize to look like yourself.
FaceTime supports group video chat of up to 32 people.
There is a new Screen Time app that gives you reports on your phone and app usage (to help you control yourself and be less distracted). It is also the basis of new parental controls.
Apple TV got a small update: Support for Dolby Atmos and new screen savers taken from the International Space Station.
Tumblr media
Apple TV Space Screen Saver (Large preview)
The Watch got a competition mode for challenging others to workout-related challenges. It will also try to auto-detect the beginning and end of workouts in case you forget to start or stop them, and it now has Hiking and Yoga workouts.
The Watch also has a new Walkie-Talkie mode that you can enable for trusted contacts.
There are more audio SDKs that are native on the Watch, and Apple’s Podcasts app is now available. I expect third-party podcast apps will take advantage of these new SDKs as well.
The Mac got the anchor spot of the event (which is hopefully an indication of renewed attention). It will be called macOS Mojave and features a dark mode.
There are big updates to the Mac App Store, but notably, it now gets the same visual and content treatment the iOS App Store got last year. There are enough changes to the sandbox that Panic has decided to move Transit back there.
Quick Look in the Finder now has some simple actions you can do to the file (e.g. rotating an image) and is customizable via Automator.
Mojave will be the last version of macOS to support 32-bit apps and frameworks, which means the Quick Time Framework going away. It has seemingly been replaced with some video capture features in the OS itself.
Apple announced that they are internally using a port of UIKit to make Mac apps and showed ports of Stocks, News, Home, and Voice Memos. The new framework will be released in 2019.
The iOS Developer Announcements I’m Most Excited About
iOS Developers got some good news as well. They hit on the four major areas I wanted to see improvement on:
SiriKit now has custom intents, which opens up the possibilities quite a bit.
Create ML is a new way to use Xcode Playgrounds to train models via transfer learning, which lets you augment existing models with your own training data.
Xcode playgrounds now allow you to add code to the bottom of a page and run it without restarting. It’s hard to know if Playgrounds will be more stable until we get a real release in September, but this will make trying code much faster.
ARKit 2 was announced along with a new Augmented Reality file format called USDZ, which is open and was developed with Adobe and Pixar. Adobe announced some tooling support already. It will allow users and developers to store and share AR assets and experiences. In addition, ARKit 2 allows multiple devices to be in the same AR environment and supports 3D object detection.
We didn’t get an AR device, but it sure feels like we’ll get one soon. And it needs to come from Apple (not third parties) because running ARKit requires an iOS device.
Setting Up Your Machine
Everything you need is available now in the developer portal. To use the code in the article, you need the Xcode 10 Beta. I would not recommend using iOS 12 Betas yet, but if you really want to, go to the portal on your device and download the iOS 12 Beta Configuration Profile.
The only major thing you need a device with the beta for is ARKit 2. Everything else should run well enough in Xcode 10’s simulator. As of the first beta, Siri Shortcut support in the simulator is limited, but there is enough there to think that that will be fixed in future releases.
End Of Day 2: Playing With Siri Custom Intents
Last year, I wrote how you needed to fit within one of Apple’s pre-defined intents in order to use SiriKit in your app. This mechanism was introduced in 2016 and added to in 2017 and even between WWDC events. But it was clear that Amazon’s approach of custom intents was superior for getting voice control into more diverse apps, and Apple added that to SiriKit last week.
To be clear, this is a first implementation, so it’s not as extensive as Alexa Skills just yet, but it opens up Siri’s possibilities quite a bit. As I discussed in the previous article, the main limitation of custom intents is that the developer needs to do all of the language translation. SiriKit gets around this a little by asking the user to provide the phrase that they’d like to use, but there is still more translation needed for custom intents than for predefined intents.
And they built in on the same foundation as the predefined intents, so everything I covered still applies. In fact, I will show you how to add a new custom intent to List-o-Mat, the app I wrote for the original SiriKit article.
(Free) Siri Shortcut Support If You Already Support Spotlight
If you use NSUserActivity to indicate things in your app that your user can initiate via handoff or search, then it’s trivial to make them available to Siri as well.
All you need to do is add the following line to your activity object:
activity.isEligibleForPrediction = true
This will only work for Spotlight-enabled activities (where isEligibleForSearch is true).
Now, when users do this activity, it is considered donated for use in Siri. Siri will recommend very commonly done activities or users can find them in the Shortcuts app. In either case, the user will be able to assign their own spoken phrase in order to start it. Your support for starting the activity via Spotlight is sufficient to support it being started via a shortcut.
In List-o-Mat, we could make the individual lists available to Spotlight and Siri by constructing activity objects and assigning them to the ListViewController. Users could open them via Siri with their own phrase.
It’s redundant in our case because we had a pre-defined intent for opening a list, but most apps are not so lucky and now have this simple mechanism. So, if your app has activities that aren’t supported by Siri’s pre-defined intents (e.g. playing a podcast), you can just make them eligible for prediction and not worry about custom intents.
Configuring SiriKit To Use Custom Intents
If you do need to use a custom intent, then SiriKit needs to be added to your app, which requires a bit of configuration.
All of the steps for configuring SiriKit for custom intents are the same as for predefined intents, which is covered in detail in my SiriKit article here on Smashing. To summarize:
You are adding an extension, so you need a new App ID, and provisioning profile and your app’s entitlements needs have Siri added.
You probably need an App Group (it’s how the extension and app communicate).
You’ll need an Intents Extension in your project
There are Siri specific .plist keys and project entitlements you need to update.
All of the details can be found in my SiriKit article, so I’ll just cover what you need to support a custom intent in List-o-Mat.
Adding A Copy List Command To List-o-Mat
Custom intents are meant to be used only where there is no pre-defined intent, and Siri does actually offer a lot of list and task support in its Lists and Notes Siri Domain.
But, one way to use a list is as a template for a repeated routine or process. To do that we’ll want to copy an existing list and uncheck all of its items. The built-in List intents don’t support this action.
First, we need to add a way to do this manually. Here is a demo of this new behavior in List-o-Mat:
Tumblr media
Copying a list in List-o-Mat
To get this behavior to be invokable by Siri, we’ll “donate an intent,” which means we’ll tell iOS every time you do this. Then, it will eventually learn that in the morning, you like to copy this list and offer it as a shortcut. Users can also look for donated intents and assign phrases manually.
Creating The Custom Intent
The next step is to create the custom intent in Xcode. There is a new file template, so:
Choose File → New File and pick “SiriKit Intent Definition File”.
Tumblr media
Choose to add an intent definition file (Large preview)
Name the file ListOMatCustomIntents.intentdefinition, and choose to put the file in both the App and Intent Extension targets. This will automatically generate classes into both targets that implement the intent protocols but have your custom behavior implemented.
Open the Definition file.
Use the + button on the bottom left to add an intent and name it “CopyList”.
Set the Category to “Create” and fill in the title and subtitle to describe the intent:
Tumblr media
Add a category, title, and subtitle to the intent (Large preview)
Add a String parameter named “list”.
Tumblr media
Add a String paramter named “list” (Large preview)
Add a shortcut type with the list parameter and give it a title named “Copy list”.
Tumblr media
Add a shortcut type titled “Copy list” (Large preview)
If you look in the Intent plist, you will see that this intent has already been configured for you:
Tumblr media
Donating The Intent
When we do a user interaction in our app that we want Siri to know about, we donate it to Siri. Siri keeps track of contextual information, like the time, day of the week, and even location, and if it notices a pattern, it will offer the shortcut to the user.
When we tap the Copy menu, add this code:
@available(iOS 12, *) func donateCopyListInteraction(listName: String) { let copyListInteraction = CopyListIntent() copyListInteraction.list = listName copyListInteraction.suggestedInvocationPhrase = "Copy \(listName)" let interaction = INInteraction(intent: copyListInteraction, response: nil) interaction.donate { [weak self] (error) in self?.show(error: error) } }
This simply creates an object of the auto-generated CopyListIntent class and donates it to Siri. Normally, iOS would collect this info and wait for the appropriate time to show it, but for development, you can open the Settings app, go to the Developer section, and turn on Siri Shortcut debugging settings.
Note: As of this writing, with the first betas, this debug setting only works on devices, and not the simulator. Since the setting is there, I expect it to start working in further betas.
Tumblr media
Turn on Siri Shortcut debugging
When you do this, your donated shortcut shows up on in Siri Suggestions in Spotlight.
Tumblr media
You can debug your donated shortcut in search
Tapping that will call into your Intent extension because we are allowing background execution. We’ll add support for that next.
Handling The Custom Intent
We already have an Intents extension, and since the custom intent definitions file is already added to the file, it also has the generated intent classes. All we need to do is add a handler.
The first step is to add a new class, named CopyListIntentHandler to the extension. Here is its code:
import Intents @available(iOS 12, *) class CopyListIntentHandler: ListOMatIntentsHandler, CopyListIntentHandling { func handle(intent: CopyListIntent, completion: @escaping (CopyListIntentResponse) -> Void) { // Find the list var lists = loadLists() guard let listName = intent.list?.lowercased(), let listIndex = lists.index(where: { $0.name.lowercased() == listName}) else { completion(CopyListIntentResponse(code: .failure, userActivity: nil)) return } // Copy the list to the top, and respond with success copyList(from: &lists, atIndex: listIndex, toIndex: 0) save(lists: lists) let response = CopyListIntentResponse(code: .success, userActivity: nil) completion(response) } }
Custom intents only have a confirm and handle phase (custom resolution of parameters is not supported). Since the default confirm() returns success, we’ll just implement handle(), which has to look up the list, copy it, and let Siri know if it was successful or not.
You also need to dispatch to this class from the registered intent handler by adding this code:
if #available(iOS 12, *) { if intent is CopyListIntent { return CopyListIntentHandler() } }
Now you can actually tap that Siri suggestion and it will bring this up:
Tumblr media
Activate the shortcut (Large preview)
And tapping the Create button will copy the list. The button says “Create” because of the category we chose in the intent definition file.
Phew, that was a lot. These new Siri shortcuts are the main feature in iOS 12 that has a new large developer surface area to explore. Also, since I happened to have a good (and documented) Siri example to work with, it was reasonable to try to add the new features to it this week.
You can see the update List-o-Mat in GitHub. Until Xcode 10 and iOS 12 are released it’s in its own branch.
The next few days, I’ll mostly be looking at Apple sample code or making much smaller projects.
End Of Day 3: Xcode Playgrounds
The entire previous day was spent in Xcode 10 beta, which didn’t crash once and seemed ready for development. So now I wanted to explore the new Playgrounds features.
The main thing I wanted from playgrounds is to make them more stable and much faster. To make them faster, Apple added a big feature — a REPL mode.
Before Xcode 10, when you were in a Playground that had auto-run on (which is the default), every line of code actually rebuilt the entire file and ran it from the beginning. If you had built up any state, it was lost. But, the real issue was that this was way too slow for iterative development. When I use Playgrounds, I set them to manually run, but even that is slow.
In Xcode 10, manual running is more the norm, but after you run it, you can add more lines at the bottom of the page and continue execution. This means you can explore data and draw views iteratively without constantly rebuilding and starting from scratch.
To get started, I created an iOS playground (File → New → Playground) with the Single View template.
Turn on manual running by bringing down the menu below the Play button (the triangle in the bottom left corner). This puts a vertical strip to the left that shows the current position of the Play head (kind of like breakpoints).
You can tap any line and then tap the play button to its left. This will run the Playground to this point. Then you can go further by tapping lines lower in the Playground. Critically, you can add more lines to the bottom and type Shift + Enter after each one to move the Play head to that point.
Here’s a GIF of me changing the label of a view without needing to restart the Playground. After each line I type, I am pressing Shift + Enter.
Tumblr media
Add more code and run it without restarting
Playgrounds also support custom rendering of your types now, and Apple is making a big push for every Swift framework to include a Playground to document it.
Tumblr media
TJ Usiyan asks WWDC attendees to add Playgrounds to their projects. (Large preview)
End Of Day 4: Create ML
Last year, Apple made a big leap for programming Machine Learning for their devices. There was a new ML model file format and direct support for it in Xcode.
The potential was that there would be a large library of these model files, that there would be tools that would create them, and that many more app developers would be able to incorporate ML into their projects without having to know how to create models.
This hasn’t fully materialized. Apple didn’t add to the repository of models after WWDC, and although there are third-party repositories, they mostly have models that are variations on the image classification demos. ML is used for a lot more than image classification, but a broad selection of examples did not appear.
So, it became clear that any real app would need its developers to train new models. Apple released Turi Create for this purpose, but its far from simple.
At WWDC 2018, Apple did a few things to Core ML:
They expanded the Natural Language Processing (NLP) part of Core ML which gives us a new major domain of examples.
They added the concept of Transfer Learning to Core ML, which allows you to add training data to an existing model. This means you can take models from the library, and customize them to your own data (for example, have them recognize new objects in images you provide).
They released Create ML which is implemented inside of Xcode Playgrounds and lets you drag and drop data for training and generate model extensions (using Transfer Learning).
This is another nice step in democratizing ML. There’s not much code to write here. To extend an image classifier, you just need to gather and label images. Once you have them, you just drag them into Create ML. You can see the demo in this Create ML WWDC video.
End Of The Week: Play With The New AR Demos
ARKit was another big addition last year and it seems even more clear that an AR device is coming.
My ARKit code from last year’s article is still a good way to get started. Most of the new features are about making AR more accurate and faster.
After that, if you have installed a beta, you will definitely want to download the new SwiftShot ARKit demo app. This app takes advantage of the new features of ARKit, especially the multi-player experience. Two or more devices on the same network and in the same place, can communicate with each other and see the same AR experience.
Of course, to play this, you need two or more devices you are willing to put on the iOS 12 beta. I’m waiting for the public beta to do this because I only have one beta-safe device.
The easier AR app to play with is the new Measure app, which allows you to measure the length of real objects you see in AR camera view. There have been third-party apps that do this, but Apple’s is polished and pre-installed with iOS 12.
Links To WWDC Videos And Sample Code
So, I’m looking forward to doing more with Xcode 10 and iOS 12 this summer while we wait for the new phones and whatever devices Apple might release at the end of the summer. In the meantime, iOS developers can enjoy the sun, track our hikes with our new beta Watch OS, and watch these WWDC videos when we get a chance.
You can stream WWDC 2018 videos from the Apple developer portal. There is also this unofficial Mac App for viewing WWDC videos.
Here are the videos referenced in this article:
WWDC 2018 Keynote
WWDC 2018 Platforms State of the Union
Introduction to Siri Shortcuts
Getting the Most out of Playgrounds in Xcode
Introducing Create ML, and if you want something more advanced, A Guide to Turi Create
To start playing with Xcode 10 and iOS 12:
Download the betas (visit on a device to get the beta profile)
List-o-Mat with Siri Shortcut updates
Swift Shot (the multi-player ARKit 2 game)
Tumblr media
(ra, il)
0 notes
nancydsmithus · 6 years
Text
WWDC 2018 Diary Of An iOS Developer
WWDC 2018 Diary Of An iOS Developer
Lou Franco
2018-06-14T13:45:32+02:002018-06-14T12:11:29+00:00
The traditional boundaries of summer in the US are Memorial and Labor Day, but iOS developers mark the summer by WWDC and the iPhone release. Even though the weather is cool and rainy this week in NYC, I’m in a summer mood and looking forward to the renewal that summer and WWDC promise.
Tumblr media
WWDC (Image source) (Large preview)
It’s the morning of June 4th, and I’m reviewing my notes from WWDC 2017. Last year, I wrote that ARKit and Core ML were two of the big highlights. It was refreshing to see Apple focus on Machine Learning (ML), but there wasn’t much follow up in the rest of 2017. ARKit has spawned some interest, but no killer app (perhaps Pokemon Go, but that was popular before ARKit). Apple did not add to its initial library of Core ML downloadable models after the Core ML announcement.
Apple did release Turi Create and Lobe released a new interesting Core ML model maker last month. In the Apple/ML space, Swift creator, Chris Lattner, is taking a different approach with Swift for TensorFlow. But from the outside, Core ML seems mostly to have one obvious use: image classification. There doesn’t seem to be a lot of energy around exploring wildly different applications (even though we all know the ML is at the core of self-driving cars and whiz-bang demos like Google Duplex).
What if there was a web conference without... slides? Meet SmashingConf Toronto 2018 🇨🇦 with live sessions exploring how experts work behind the scenes. Dan Mall, Lea Verou, Sara Soueidan, Seb Lee-Delisle and many others. June 26–27. With everything from live designing to live performance audits.
Check the speakers →
Another way Apple uses ML is in Siri, and earlier this year, I wrote about SiriKit and mentioned its perceived and real deficiencies when compared to Alexa and Google. One issue I explored was how Siri’s emphasis on pre-defined intents limits its range but hasn’t produced the promised accuracy that you might get from a bounded focus.
The introduction of HomePod last year only highlighted Siri’s woes, and a widely reported customer satisfaction survey showed 98% satisfaction with iPhone X but only a 20% satisfaction with Siri.
With all of this in the back of my mind, I personally was hoping to hear that Apple was going to make some major improvements in AR, ML, and Siri. Specifically, as an iOS developer, I wanted to see many more Core ML models, spanning more than just image classification and more help in making models. For Siri, I wanted to see many more intents and possibly some indication that intents would be a thing that would be added year round. It was a long-shot, but for AR, the next step is a device. But in the meantime, I hoped for increased spatial accuracy.
Finally, I love Xcode Playgrounds and iPad Playground books, but they need to to be a lot faster and stable, so I was hoping for something there too.
On the morning of WWDC, I tweeted this:
Tumblr media
My tweet describing what I was hoping for from WWDC 2018 (Large preview)
This wasn’t a prediction. It’s just a list of things I wanted to use in 2017 but found them underpowered or too hard for me to get started with, and was hoping Apple would make some improvements.
My plan for the day is to watch the keynote live, and then to watch the Platforms State of the Union. Those give a good overview of what to concentrate on for the rest of the week.
End Of Day 1: The Keynote And Platforms State Of The Union
The first day of WWDC is the keynote, which is meant for public consumption, and the Platforms State of the Union, which is an overview of the entire event, with some details for developers so that they can choose which sessions to attend.
Summary Of Notable, Non-iOS Developer Announcements
WWDC is not entirely about iOS development, so here’s a quick list of other things that happened to the other platforms or that are not very developer focused.
To get it out of the way, there were no hardware announcements at all. No previews and no updates on the Mac Pro. We’ll have to wait for the iPhone and follow-on events in the fall.
iOS 12 has a new Shortcuts app that seems to be the result of their acquisition of Workflow. It’s a way to “script” a series of steps via drag and drop. You can also assign the shortcut to a Siri keyword, which I’ll be covering below.
iOS will automatically group notifications that are from the same app and let you act on them as a group.
Animojis can now mimic you sticking out your tongue, and the new Memojis are highly configurable human faces that you can customize to look like yourself.
FaceTime supports group video chat of up to 32 people.
There is a new Screen Time app that gives you reports on your phone and app usage (to help you control yourself and be less distracted). It is also the basis of new parental controls.
Apple TV got a small update: Support for Dolby Atmos and new screen savers taken from the International Space Station.
Tumblr media
Apple TV Space Screen Saver (Large preview)
The Watch got a competition mode for challenging others to workout-related challenges. It will also try to auto-detect the beginning and end of workouts in case you forget to start or stop them, and it now has Hiking and Yoga workouts.
The Watch also has a new Walkie-Talkie mode that you can enable for trusted contacts.
There are more audio SDKs that are native on the Watch, and Apple’s Podcasts app is now available. I expect third-party podcast apps will take advantage of these new SDKs as well.
The Mac got the anchor spot of the event (which is hopefully an indication of renewed attention). It will be called macOS Mojave and features a dark mode.
There are big updates to the Mac App Store, but notably, it now gets the same visual and content treatment the iOS App Store got last year. There are enough changes to the sandbox that Panic has decided to move Transit back there.
Quick Look in the Finder now has some simple actions you can do to the file (e.g. rotating an image) and is customizable via Automator.
Mojave will be the last version of macOS to support 32-bit apps and frameworks, which means the Quick Time Framework going away. It has seemingly been replaced with some video capture features in the OS itself.
Apple announced that they are internally using a port of UIKit to make Mac apps and showed ports of Stocks, News, Home, and Voice Memos. The new framework will be released in 2019.
The iOS Developer Announcements I’m Most Excited About
iOS Developers got some good news as well. They hit on the four major areas I wanted to see improvement on:
SiriKit now has custom intents, which opens up the possibilities quite a bit.
Create ML is a new way to use Xcode Playgrounds to train models via transfer learning, which lets you augment existing models with your own training data.
Xcode playgrounds now allow you to add code to the bottom of a page and run it without restarting. It’s hard to know if Playgrounds will be more stable until we get a real release in September, but this will make trying code much faster.
ARKit 2 was announced along with a new Augmented Reality file format called USDZ, which is open and was developed with Adobe and Pixar. Adobe announced some tooling support already. It will allow users and developers to store and share AR assets and experiences. In addition, ARKit 2 allows multiple devices to be in the same AR environment and supports 3D object detection.
We didn’t get an AR device, but it sure feels like we’ll get one soon. And it needs to come from Apple (not third parties) because running ARKit requires an iOS device.
Setting Up Your Machine
Everything you need is available now in the developer portal. To use the code in the article, you need the Xcode 10 Beta. I would not recommend using iOS 12 Betas yet, but if you really want to, go to the portal on your device and download the iOS 12 Beta Configuration Profile.
The only major thing you need a device with the beta for is ARKit 2. Everything else should run well enough in Xcode 10’s simulator. As of the first beta, Siri Shortcut support in the simulator is limited, but there is enough there to think that that will be fixed in future releases.
End Of Day 2: Playing With Siri Custom Intents
Last year, I wrote how you needed to fit within one of Apple’s pre-defined intents in order to use SiriKit in your app. This mechanism was introduced in 2016 and added to in 2017 and even between WWDC events. But it was clear that Amazon’s approach of custom intents was superior for getting voice control into more diverse apps, and Apple added that to SiriKit last week.
To be clear, this is a first implementation, so it’s not as extensive as Alexa Skills just yet, but it opens up Siri’s possibilities quite a bit. As I discussed in the previous article, the main limitation of custom intents is that the developer needs to do all of the language translation. SiriKit gets around this a little by asking the user to provide the phrase that they’d like to use, but there is still more translation needed for custom intents than for predefined intents.
And they built in on the same foundation as the predefined intents, so everything I covered still applies. In fact, I will show you how to add a new custom intent to List-o-Mat, the app I wrote for the original SiriKit article.
(Free) Siri Shortcut Support If You Already Support Spotlight
If you use NSUserActivity to indicate things in your app that your user can initiate via handoff or search, then it’s trivial to make them available to Siri as well.
All you need to do is add the following line to your activity object:
activity.isEligibleForPrediction = true
This will only work for Spotlight-enabled activities (where isEligibleForSearch is true).
Now, when users do this activity, it is considered donated for use in Siri. Siri will recommend very commonly done activities or users can find them in the Shortcuts app. In either case, the user will be able to assign their own spoken phrase in order to start it. Your support for starting the activity via Spotlight is sufficient to support it being started via a shortcut.
In List-o-Mat, we could make the individual lists available to Spotlight and Siri by constructing activity objects and assigning them to the ListViewController. Users could open them via Siri with their own phrase.
It’s redundant in our case because we had a pre-defined intent for opening a list, but most apps are not so lucky and now have this simple mechanism. So, if your app has activities that aren’t supported by Siri’s pre-defined intents (e.g. playing a podcast), you can just make them eligible for prediction and not worry about custom intents.
Configuring SiriKit To Use Custom Intents
If you do need to use a custom intent, then SiriKit needs to be added to your app, which requires a bit of configuration.
All of the steps for configuring SiriKit for custom intents are the same as for predefined intents, which is covered in detail in my SiriKit article here on Smashing. To summarize:
You are adding an extension, so you need a new App ID, and provisioning profile and your app’s entitlements needs have Siri added.
You probably need an App Group (it’s how the extension and app communicate).
You’ll need an Intents Extension in your project
There are Siri specific .plist keys and project entitlements you need to update.
All of the details can be found in my SiriKit article, so I’ll just cover what you need to support a custom intent in List-o-Mat.
Adding A Copy List Command To List-o-Mat
Custom intents are meant to be used only where there is no pre-defined intent, and Siri does actually offer a lot of list and task support in its Lists and Notes Siri Domain.
But, one way to use a list is as a template for a repeated routine or process. To do that we’ll want to copy an existing list and uncheck all of its items. The built-in List intents don’t support this action.
First, we need to add a way to do this manually. Here is a demo of this new behavior in List-o-Mat:
Tumblr media
Copying a list in List-o-Mat
To get this behavior to be invokable by Siri, we’ll “donate an intent,” which means we’ll tell iOS every time you do this. Then, it will eventually learn that in the morning, you like to copy this list and offer it as a shortcut. Users can also look for donated intents and assign phrases manually.
Creating The Custom Intent
The next step is to create the custom intent in Xcode. There is a new file template, so:
Choose File → New File and pick “SiriKit Intent Definition File”.
Tumblr media
Choose to add an intent definition file (Large preview)
Name the file ListOMatCustomIntents.intentdefinition, and choose to put the file in both the App and Intent Extension targets. This will automatically generate classes into both targets that implement the intent protocols but have your custom behavior implemented.
Open the Definition file.
Use the + button on the bottom left to add an intent and name it “CopyList”.
Set the Category to “Create” and fill in the title and subtitle to describe the intent:
Tumblr media
Add a category, title, and subtitle to the intent (Large preview)
Add a String parameter named “list”.
Tumblr media
Add a String paramter named “list” (Large preview)
Add a shortcut type with the list parameter and give it a title named “Copy list”.
Tumblr media
Add a shortcut type titled “Copy list” (Large preview)
If you look in the Intent plist, you will see that this intent has already been configured for you:
Tumblr media
Donating The Intent
When we do a user interaction in our app that we want Siri to know about, we donate it to Siri. Siri keeps track of contextual information, like the time, day of the week, and even location, and if it notices a pattern, it will offer the shortcut to the user.
When we tap the Copy menu, add this code:
@available(iOS 12, *) func donateCopyListInteraction(listName: String) { let copyListInteraction = CopyListIntent() copyListInteraction.list = listName copyListInteraction.suggestedInvocationPhrase = "Copy \(listName)" let interaction = INInteraction(intent: copyListInteraction, response: nil) interaction.donate { [weak self] (error) in self?.show(error: error) } }
This simply creates an object of the auto-generated CopyListIntent class and donates it to Siri. Normally, iOS would collect this info and wait for the appropriate time to show it, but for development, you can open the Settings app, go to the Developer section, and turn on Siri Shortcut debugging settings.
Note: As of this writing, with the first betas, this debug setting only works on devices, and not the simulator. Since the setting is there, I expect it to start working in further betas.
Tumblr media
Turn on Siri Shortcut debugging
When you do this, your donated shortcut shows up on in Siri Suggestions in Spotlight.
Tumblr media
You can debug your donated shortcut in search
Tapping that will call into your Intent extension because we are allowing background execution. We’ll add support for that next.
Handling The Custom Intent
We already have an Intents extension, and since the custom intent definitions file is already added to the file, it also has the generated intent classes. All we need to do is add a handler.
The first step is to add a new class, named CopyListIntentHandler to the extension. Here is its code:
import Intents @available(iOS 12, *) class CopyListIntentHandler: ListOMatIntentsHandler, CopyListIntentHandling { func handle(intent: CopyListIntent, completion: @escaping (CopyListIntentResponse) -> Void) { // Find the list var lists = loadLists() guard let listName = intent.list?.lowercased(), let listIndex = lists.index(where: { $0.name.lowercased() == listName}) else { completion(CopyListIntentResponse(code: .failure, userActivity: nil)) return } // Copy the list to the top, and respond with success copyList(from: &lists, atIndex: listIndex, toIndex: 0) save(lists: lists) let response = CopyListIntentResponse(code: .success, userActivity: nil) completion(response) } }
Custom intents only have a confirm and handle phase (custom resolution of parameters is not supported). Since the default confirm() returns success, we’ll just implement handle(), which has to look up the list, copy it, and let Siri know if it was successful or not.
You also need to dispatch to this class from the registered intent handler by adding this code:
if #available(iOS 12, *) { if intent is CopyListIntent { return CopyListIntentHandler() } }
Now you can actually tap that Siri suggestion and it will bring this up:
Tumblr media
Activate the shortcut (Large preview)
And tapping the Create button will copy the list. The button says “Create” because of the category we chose in the intent definition file.
Phew, that was a lot. These new Siri shortcuts are the main feature in iOS 12 that has a new large developer surface area to explore. Also, since I happened to have a good (and documented) Siri example to work with, it was reasonable to try to add the new features to it this week.
You can see the update List-o-Mat in GitHub. Until Xcode 10 and iOS 12 are released it’s in its own branch.
The next few days, I’ll mostly be looking at Apple sample code or making much smaller projects.
End Of Day 3: Xcode Playgrounds
The entire previous day was spent in Xcode 10 beta, which didn’t crash once and seemed ready for development. So now I wanted to explore the new Playgrounds features.
The main thing I wanted from playgrounds is to make them more stable and much faster. To make them faster, Apple added a big feature — a REPL mode.
Before Xcode 10, when you were in a Playground that had auto-run on (which is the default), every line of code actually rebuilt the entire file and ran it from the beginning. If you had built up any state, it was lost. But, the real issue was that this was way too slow for iterative development. When I use Playgrounds, I set them to manually run, but even that is slow.
In Xcode 10, manual running is more the norm, but after you run it, you can add more lines at the bottom of the page and continue execution. This means you can explore data and draw views iteratively without constantly rebuilding and starting from scratch.
To get started, I created an iOS playground (File → New → Playground) with the Single View template.
Turn on manual running by bringing down the menu below the Play button (the triangle in the bottom left corner). This puts a vertical strip to the left that shows the current position of the Play head (kind of like breakpoints).
You can tap any line and then tap the play button to its left. This will run the Playground to this point. Then you can go further by tapping lines lower in the Playground. Critically, you can add more lines to the bottom and type Shift + Enter after each one to move the Play head to that point.
Here’s a GIF of me changing the label of a view without needing to restart the Playground. After each line I type, I am pressing Shift + Enter.
Tumblr media
Add more code and run it without restarting
Playgrounds also support custom rendering of your types now, and Apple is making a big push for every Swift framework to include a Playground to document it.
Tumblr media
TJ Usiyan asks WWDC attendees to add Playgrounds to their projects. (Large preview)
End Of Day 4: Create ML
Last year, Apple made a big leap for programming Machine Learning for their devices. There was a new ML model file format and direct support for it in Xcode.
The potential was that there would be a large library of these model files, that there would be tools that would create them, and that many more app developers would be able to incorporate ML into their projects without having to know how to create models.
This hasn’t fully materialized. Apple didn’t add to the repository of models after WWDC, and although there are third-party repositories, they mostly have models that are variations on the image classification demos. ML is used for a lot more than image classification, but a broad selection of examples did not appear.
So, it became clear that any real app would need its developers to train new models. Apple released Turi Create for this purpose, but its far from simple.
At WWDC 2018, Apple did a few things to Core ML:
They expanded the Natural Language Processing (NLP) part of Core ML which gives us a new major domain of examples.
They added the concept of Transfer Learning to Core ML, which allows you to add training data to an existing model. This means you can take models from the library, and customize them to your own data (for example, have them recognize new objects in images you provide).
They released Create ML which is implemented inside of Xcode Playgrounds and lets you drag and drop data for training and generate model extensions (using Transfer Learning).
This is another nice step in democratizing ML. There’s not much code to write here. To extend an image classifier, you just need to gather and label images. Once you have them, you just drag them into Create ML. You can see the demo in this Create ML WWDC video.
End Of The Week: Play With The New AR Demos
ARKit was another big addition last year and it seems even more clear that an AR device is coming.
My ARKit code from last year’s article is still a good way to get started. Most of the new features are about making AR more accurate and faster.
After that, if you have installed a beta, you will definitely want to download the new SwiftShot ARKit demo app. This app takes advantage of the new features of ARKit, especially the multi-player experience. Two or more devices on the same network and in the same place, can communicate with each other and see the same AR experience.
Of course, to play this, you need two or more devices you are willing to put on the iOS 12 beta. I’m waiting for the public beta to do this because I only have one beta-safe device.
The easier AR app to play with is the new Measure app, which allows you to measure the length of real objects you see in AR camera view. There have been third-party apps that do this, but Apple’s is polished and pre-installed with iOS 12.
Links To WWDC Videos And Sample Code
So, I’m looking forward to doing more with Xcode 10 and iOS 12 this summer while we wait for the new phones and whatever devices Apple might release at the end of the summer. In the meantime, iOS developers can enjoy the sun, track our hikes with our new beta Watch OS, and watch these WWDC videos when we get a chance.
You can stream WWDC 2018 videos from the Apple developer portal. There is also this unofficial Mac App for viewing WWDC videos.
Here are the videos referenced in this article:
WWDC 2018 Keynote
WWDC 2018 Platforms State of the Union
Introduction to Siri Shortcuts
Getting the Most out of Playgrounds in Xcode
Introducing Create ML, and if you want something more advanced, A Guide to Turi Create
To start playing with Xcode 10 and iOS 12:
Download the betas (visit on a device to get the beta profile)
List-o-Mat with Siri Shortcut updates
Swift Shot (the multi-player ARKit 2 game)
Tumblr media
(ra, il)
0 notes
mikemortgage · 5 years
Text
In Sweden, cash is almost extinct and people implant microchips in their hands to pay for things
Few countries have been moving toward a cashless society as fast as Sweden. But cash is being squeezed out so quickly — with half the nation’s retailers predicting they will stop accepting bills before 2025 — that the government is recalculating the societal costs of a cash-free future.
The financial authorities, who once embraced the trend, are asking banks to keep peddling notes and coins until the government can figure out what going cash-free means for young and old consumers. The central bank, which predicts cash may fade from Sweden, is testing a digital currency — an e-krona — to keep firm control of the money supply. Lawmakers are exploring the fate of online payments and bank accounts if an electrical grid fails or servers are thwarted by power failures, hackers or even war.
“When you are where we are, it would be wrong to sit back with our arms crossed, doing nothing, and then just take note of the fact that cash has disappeared,” said Stefan Ingves, governor of Sweden’s central bank, known as the Riksbank. “You can’t turn back time, but you do have to find a way to deal with change.”
As ‘no cash accepted’ signs spring up everywhere, Sweden worries it’s gone too far with digital payments
Millennials are old news — now it’s Gen Z’s turn to kill industries
People in Sweden are hiding cash in their microwaves because of a fascinating — and terrifying — economic experiment
Ask most people in Sweden how often they pay with cash and the answer is “almost never.” A fifth of Swedes, in a country of 10 million people, do not use automated teller machines anymore. More than 4,000 Swedes have implanted microchips in their hands, allowing them to pay for rail travel and food, or enter keyless offices, with a wave. Restaurants, buses, parking lots and even pay toilets depend on clicks rather than cash.
Consumer groups say the shift leaves many retirees — a third of all Swedes are 55 or older — as well as some immigrants and people with disabilities at a disadvantage. They cannot easily gain access to electronic means for some goods and transactions, and rely on banks and their customer service. And the progress toward a cashless society could upend the state’s centuries-old role as sovereign guarantor. If cash disappears, commercial banks would wield greater control.
“We need to pause and think about whether this is good or bad, and not just sit back and let it happen,” said Mats Dillén, the head of a Swedish Parliament committee studying the matter. “If cash disappears, that would be a big change, with major implications for society and the economy.”
Urban consumers worldwide are increasingly paying with apps and plastic. In China and in other Asian countries rife with young smartphone users, mobile payments are routine. In Europe, about one in five people say they rarely carry money. In Belgium, Denmark and Norway, debit and credit card use has hit record highs.
But Sweden — and particularly its young people — is at the vanguard. Bills and coins represent just 1 per cent of the economy, compared with 10 per cent in Europe and 8 per cent in the United States. About one in 10 consumers paid for something in cash this year, down from 40 per cent in 2010. Most merchants in Sweden still accept notes and coins, but their ranks are thinning.
Among 18-to-24-year-olds, the numbers are startling: Up to 95 per cent of their purchases are with a debit card or a smartphone app called Swish, a payment system set up by Sweden’s biggest banks.
Ikea, whose flat-box furniture is a staple of young households, has been experimenting to gauge the allure and effect of cashless commerce. In Gävle, about 100 miles north of Stockholm, managers decided to go cashless temporarily last month after they realized that fewer than 1 per cent of shoppers used cash — and Ikea employees were spending about 15 per cent of their time handling, counting and storing money.
Mixed denomination Swedish kronor (SEK) notes and coins sit in a cashier’s till inside a currency exchange in Malmo, Sweden in 2014.
Patric Burstein, a senior manager, said the cashless test had freed employees to work on the sales floor. So far, around 1.2 of every 1,000 customers have been unable to pay with anything but cash — and mainly in the cafeteria where people tend to spend change. Rather than bother with bills, Ikea has been offering those customers freebies.
“We said, ‘If you want a 50 cent hot dog, be my guest, take it. But next time maybe you can bring a card,'” said Burstein, 38. The test so far suggests that cash is not essential and, instead, may be costly, he said. “We’re spending a lot of resources on a very small percentage that actually need the service,” he said.
The nearby branch of the Swedish National Pensioners Organization has led protests against the experiment, in part, because many retirees like to go to the Gävle Ikea for a bite to eat.
“We have around 1 million people who aren’t comfortable using the computer, iPads or iPhones for banking,” said Christina Tallberg, 75, the group’s national president. “We aren’t against the digital movement, but we think it’s going a bit too fast.”
The organization has been raising money to teach retirees how to pay electronically, but, paradoxically, that good effort has been tripped up by an abundance of cash. When collections for training are taken in rural areas — and the seniors donate in cash — the pensioner in charge must drive miles to find a bank that will actually take the money, Tallberg said. About half of Sweden’s 1,400 bank branches no longer accept cash deposits.
“It’s more or less impossible, because the banks refuse to take cash,” she said.
Banks have propelled the cashless revolution by encouraging consumers and retailers to use debit and credit cards, which yields banks and credit card companies lucrative fees. That includes the bank-developed Swish smartphone app.
Sweden’s banks have cut back on cash in part for safety reasons after a rash of violent robberies in the mid-2000s. The national psyche is marked by an infamous helicopter heist in Västberga in 2009, when thieves landed on the roof of a G4S cash service depot and stole millions — a drama now being turned into a Netflix film. Last year, only two banks were robbed compared with 210 in 2008.
In recent years, banks have dismantled cash machines by the hundreds. So little cash is used now that it has become expensive to track and maintain, said Leif Trogen, an official at the Swedish Bankers’ Association.
There are two proposals by Swedish authorities to keep cash at hand. Parliament wants just the biggest banks to handle cash. The central bank is holding out for all banks to keep money flowing. Swedbank, SEB and other big Swedish financial institutions are fighting the lawmakers’ demands, saying it would place an undue burden on them to provide greater access.
“The demand for cash is decreasing at an ever faster pace,” Trogen said. “Therefore, it is fundamentally wrong to legislate to influence the demand for cash.”
A flag flies outside the headquarters of the Riksbank, Sweden’s central bank, in Stockholm, Sweden.
The central bank has plans to roll out a pilot version next year of a new type of Riksbank money — the digital krona, or e-krona — that could replace physical cash or at least help calm the current cash conundrum. An e-krona would mean that the functions of a currency backed by the state would remain, even in an all-digital world that is fast approaching.
Christine Lagarde, managing director of the International Monetary Fund, noted last week that several central banks were “seriously considering” digital currencies.
“While the case for digital currency is not universal, we should investigate it further — seriously, carefully and creatively,” she said.
Ingves, the central bank governor, said, “This is not a war on cash, but no one has argued that this evolutionary motion is going to stop.”
The New York Times
from Financial Post https://ift.tt/2TFeq9E via IFTTT Blogger Mortgage Tumblr Mortgage Evernote Mortgage Wordpress Mortgage href="https://www.diigo.com/user/gelsi11">Diigo Mortgage
0 notes
musette22 · 4 years
Note
I am lovinggg the fact that Seb still uses wired earphones and Chris still has an old iPhone..our boys keeping it real, they are made for each other 👌🏽
You're so right 😂 I love that about them so much!!! None of that fake glitzy nonsense for our boys (well, I'm sure they indulge sometimes, but overall they keep it pretty real :p) I think Chris may have finally upgraded to an iPhone 11 though, based on his most recent pic of Dodger, but if he did, he held out for a looooong time lol
31 notes · View notes